Random Forest - Hyperparameter tuning

0

Hej,
stworzyłem w Pythonie model lasu losowego, który ma dokładność 87.30%. Chciałbym go ulepszyć, dlatego użyłem RandomizedSearchCV z scikit-learn, aby przetestować losowe kombinacje parametrów (maksymalna głębokość, liczba drzew, minimalna liczba obserwacji w liściu, itp.) i zawęzić poszukiwania najlepszych wartości dla parametrów. Potem użyłem GridSearchCV aby przetestować wszystkie kombinacje z zawężonego zbioru możliwości.

Niestety, okazało się, że dostrojony model ma mniejszą dokładność niż oryginalny. Różnica nieznaczna, bo około 1%, ale jednak model gorszy.

Pytanie do osób siedzących w uczeniu maszynowym, z czego to może wynikać, i czy naprawdę wbudowane modele w Pythonie są tak dobre, że nawet dostrajanie parametrów nie pomaga zwiększyć dokładności modelu?

Moja droga poszukiwania najlepszych w. parametrów jest taka:

  1. Zdefiniować szeroki zakres możliwych wartości
  2. Przetestować losowo część z nich
  3. Zawęzić zakres wartości na podstawie najlepszego zbioru z tych losowo przetestowanych
  4. Przetestować wszystkie możliwości z zawężonego zakresu
  5. Wytrenować model używając najlepszych parametrów

Będę wdzięczny za wszelkie wskazówki od osób, które miały do czynienia z dostrajaniem parametrów.

1

Nie wiemy co za dane i co chcesz przewidzieć, więc pozostaje nam szklana kula. Musisz bardziej opisać case, bez ironii.
Z jednej strony możesz robić coś nie tak, a z drugiej po prostu z g... danych bata się nie ukręci, i tyle, i nic więcej. Możliwe że po prostu Twoje dane nie są w stanie wyjaśnić reszty zmienności i to koniec tematu.
W ogóle zwiększanie skomplikowania modelu i występowanie spadku dokładności brzmi jak overfitting motzno. Jak prezentują się inne metryki?

1 użytkowników online, w tym zalogowanych: 0, gości: 1