Odrabiam pracę domową na drzewach decyzyjnych, a jedno z pytań, na które muszę odpowiedzieć, brzmi: „Dlaczego estymatory zbudowane są z drzew tendencyjnych i jak workowanie pomaga zmniejszyć ich wariancję?”.
Wiem teraz, że przeregulowane modele mają tendencję do bardzo niskiego odchylenia, ponieważ próbują dopasować wszystkie punkty danych. I miałem skrypt w Pythonie, który dopasowywał drzewo do jakiegoś zestawu danych (z jedną cechą. To był tylko sinusoid, z pewnymi wyłączonymi punktami, obrazek poniżej). Zastanawiałem się więc: „cóż, jeśli rzeczywiście nadmiar danych jest zbyt wysoki, czy mogę wyzerować odchylenie?”. I okazało się, że nawet przy głębokości 10000 nadal istnieją pewne punkty, przez które krzywa nie przechodzi.
Próbowałem szukać przyczyny, ale tak naprawdę nie mogłem znaleźć wyjaśnienia. Zgaduję, że może istnieć kilka drzew, które doskonale przejść przez wszystkie punkty, a te które dostaliśmy były po prostu „pech”. A może inny zestaw danych mógłby dać mi obiektywny wynik (może idealny sinusoid?). Lub nawet to, być może cięcia wykonane na początku uniemożliwiły dalsze cięcie w celu pełnego oddzielenia wszystkich punktów.
Biorąc więc pod uwagę ten zestaw danych (ponieważ może być inny dla innych), moje pytanie brzmi: czy można dopasować drzewo do punktu, w którym odchylenie osiągnie zero, czy zawsze będzie jakieś odchylenie, nawet jeśli naprawdę mały? A jeśli zawsze jest co najmniej jakieś uprzedzenie, dlaczego tak się dzieje?
PS Nie wiem, czy to może być istotne, ale użyłem DecisionTreeRegressor
od, sklearn
aby dopasować model do danych.