Ich mache Hausaufgaben zu Entscheidungsbäumen und eine der Fragen, die ich beantworten muss, lautet: "Warum sind Schätzer aus voreingenommenen Bäumen aufgebaut und wie hilft das Absacken, ihre Varianz zu verringern?".
Jetzt weiß ich, dass überangepasste Modelle tendenziell eine sehr geringe Verzerrung aufweisen, da sie versuchen, alle Datenpunkte anzupassen. Und ich hatte ein Skript in Python, das einen Baum an einen Datensatz anpasste (mit einer einzigen Funktion. Es war nur eine Sinuskurve mit einigen Abweichungen, Bild unten). Also fragte ich mich: "Nun, wenn ich die Daten wirklich überpasse, kann ich dann die Tendenz auf Null bringen?" Und es stellte sich heraus, dass es trotz einer Tiefe von 10000 noch einige Punkte gibt, durch die die Kurve nicht verläuft.
Ich habe versucht, nach dem Warum zu suchen, aber ich konnte keine Erklärung finden. Ich vermute, dass es einige Bäume geben könnte, die perfekt durch alle Punkte gehen würden, und dass die, die ich bekam, nur "Pech" waren. Oder dass ein anderer Datensatz mir ein unvoreingenommenes Ergebnis hätte liefern können (vielleicht eine perfekte Sinuskurve?). Oder sogar das, vielleicht machten es die zu Beginn vorgenommenen Schnitte unmöglich, dass weitere Schnitte alle Punkte vollständig trennten.
Unter Berücksichtigung dieses Datensatzes (da er für andere möglicherweise anders ist) lautet meine Frage: Ist es möglich, einen Baum bis zu einem Punkt zu überpassen, an dem die Verzerrung auf Null geht, oder wird es immer eine gewisse Verzerrung geben, auch wenn dies tatsächlich der Fall ist? klein? Und wenn es immer zumindest eine gewisse Voreingenommenheit gibt, warum passiert das?
PS Ich weiß nicht, ob es relevant sein könnte, aber ich habe das DecisionTreeRegressor
von verwendet sklearn
, um das Modell an die Daten anzupassen.