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:
- Zdefiniować szeroki zakres możliwych wartości
- Przetestować losowo część z nich
- Zawęzić zakres wartości na podstawie najlepszego zbioru z tych losowo przetestowanych
- Przetestować wszystkie możliwości z zawężonego zakresu
- 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.