Wann sollte man eine lineare Regression oder eine Entscheidungsbaum- oder eine zufällige Waldregression wählen? [geschlossen]

10

Ich arbeite an einem Projekt und habe Schwierigkeiten zu entscheiden, für welchen Algorithmus ich mich entscheiden soll regression. Ich möchte wissen, unter welchen Bedingungen man ein linear regressionoder Decision Tree regressionoder wählen soll Random Forest regression. Gibt es bestimmte Merkmale der Daten, die die Entscheidung treffen würden, einen bestimmten Algorithmus in dem oben genannten Baum zu verwenden? Welche Eigenschaften sollte ich in meinem Datensatz beachten, um die Entscheidung zu treffen? Und gibt es einige Gründe, die dazu führen würden, dass man einen decision treeoder einen random forestAlgorithmus wählt, selbst wenn die gleiche Korrektheit erreicht werden kann linear regression?

Jason Donnald
quelle
Dies ist zu weit gefasst - beginnen Sie mit einer Beschreibung Ihrer Daten und Ihren Einschränkungen?
Sean Owen

Antworten:

10

Lassen Sie es mich anhand einiger Beispiele für eine klare Intuition erklären:

Wann verwenden Sie lineare Regression gegenüber Entscheidungsbäumen?

Die lineare Regression ist ein lineares Modell, was bedeutet, dass es sehr gut funktioniert, wenn die Daten eine lineare Form haben. Wenn die Daten jedoch eine nichtlineare Form haben, kann ein lineares Modell die nichtlinearen Merkmale nicht erfassen.

In diesem Fall können Sie also die Entscheidungsbäume verwenden, mit denen die Nichtlinearität in den Daten besser erfasst werden kann, indem der Raum abhängig von den gestellten Fragen in kleinere Unterräume unterteilt wird.

Wann verwenden Sie Random Forest vs Decision Trees?

Ich denke, die Quora-Antwort hier würde einen besseren Job als ich machen, wenn es darum geht, den Unterschied zwischen ihnen und ihren Anwendungen zu erklären. Lassen Sie mich das für Sie zitieren:

Angenommen, Sie sind sehr unentschlossen. Wenn Sie also einen Film sehen möchten, fragen Sie Ihre Freundin Willow, ob sie glaubt, dass es Ihnen gefällt. Um zu antworten, muss Willow zuerst herausfinden, welche Filme Sie mögen, also geben Sie ihr eine Reihe von Filmen und sagen ihr, ob Sie jeden mögen oder nicht (dh Sie geben ihr ein beschriftetes Trainingsset). Wenn Sie sie dann fragen, ob sie glaubt, dass Sie Film X mögen oder nicht, spielt sie mit IMDB ein Spiel mit 20 Fragen und stellt Fragen wie "Ist X ein romantischer Film?", "Spielt Johnny Depp in X?" , und so weiter. Sie stellt zuerst informativere Fragen (dh sie maximiert den Informationsgewinn jeder Frage) und gibt Ihnen am Ende eine Ja / Nein-Antwort.

Somit ist Willow ein Entscheidungsbaum für Ihre Filmeinstellungen.

Aber Willow ist nur ein Mensch, deshalb verallgemeinert sie Ihre Vorlieben nicht immer sehr gut (dh sie passt zu gut). Um genauere Empfehlungen zu erhalten, möchten Sie ein paar Ihrer Freunde fragen und sich Film X ansehen, wenn die meisten von ihnen sagen, dass sie Ihnen gefallen. Das heißt, anstatt nur Willow zu fragen, möchten Sie auch Woody, Apple und Cartman fragen, und sie stimmen darüber ab, ob Ihnen ein Film gefällt (dh Sie bauen einen Ensemble-Klassifikator, in diesem Fall auch Wald genannt).

Jetzt möchten Sie nicht, dass jeder Ihrer Freunde dasselbe tut und Ihnen dieselbe Antwort gibt, also geben Sie zuerst jedem von ihnen leicht unterschiedliche Daten. Schließlich sind Sie sich Ihrer Vorlieben nicht ganz sicher - Sie haben Willow gesagt, dass Sie die Titanic lieben, aber vielleicht waren Sie an diesem Tag einfach glücklich, weil Sie Geburtstag hatten. Vielleicht sollten einige Ihrer Freunde die Tatsache, dass Sie es sind, nicht nutzen mochte Titanic bei der Abgabe ihrer Empfehlungen. Oder vielleicht hast du ihr gesagt, dass du Aschenputtel liebst, aber eigentlich wirklich wirklichliebte es, also sollten einige Ihrer Freunde Aschenputtel mehr Gewicht geben. Anstatt Ihren Freunden die gleichen Daten zu geben, die Sie Willow gegeben haben, geben Sie ihnen leicht gestörte Versionen. Sie ändern Ihre Liebes- / Hassentscheidungen nicht, Sie sagen nur, dass Sie einige Filme ein wenig mehr oder weniger lieben / hassen (Sie geben jedem Ihrer Freunde eine Bootstrap-Version Ihrer ursprünglichen Trainingsdaten). Während Sie beispielsweise Willow sagten, dass Sie Black Swan und Harry Potter mochten und Avatar nicht mochten, sagen Sie Woody, dass Sie Black Swan so sehr mochten, dass Sie es zweimal gesehen haben, Avatar nicht mochten und Harry Potter überhaupt nicht erwähnten.

Wenn Sie dieses Ensemble verwenden, hoffen Sie, dass, während jeder Ihrer Freunde etwas eigenwillige Empfehlungen gibt (Willow glaubt, Sie mögen Vampirfilme mehr als Sie, Woody glaubt, Sie mögen Pixar-Filme, und Cartman glaubt, Sie hassen einfach alles), die Fehler aufgehoben werden in der Mehrzahl. So bilden Ihre Freunde jetzt eine gepackte (Bootstrap-aggregierte) Gesamtstruktur Ihrer Filmeinstellungen.

Es gibt jedoch immer noch ein Problem mit Ihren Daten. Während Sie sowohl Titanic als auch Inception geliebt haben, war es nicht so, dass Sie Filme mögen, in denen Leonardio DiCaprio die Hauptrolle spielt. Vielleicht haben Ihnen beide Filme aus anderen Gründen gefallen. Daher möchten Sie nicht, dass Ihre Freunde ihre Empfehlungen darauf stützen, ob Leo in einem Film ist oder nicht. Wenn also jeder Freund der IMDB eine Frage stellt, ist nur eine zufällige Teilmenge der möglichen Fragen zulässig (dh wenn Sie einen Entscheidungsbaum erstellen, verwenden Sie an jedem Knoten eine gewisse Zufälligkeit bei der Auswahl des Attributs, auf das aufgeteilt werden soll, beispielsweise durch zufällige Auswahl ein Attribut oder durch Auswahl eines Attributs aus einer zufälligen Teilmenge). Dies bedeutet, dass Ihre Freunde nicht fragen dürfen, ob Leonardo DiCaprio im Film ist, wann immer sie wollen. Während Sie zuvor Zufälligkeit auf Datenebene injiziert haben,

Und so bilden deine Freunde jetzt einen zufälligen Wald.

Dawny33
quelle
7
when the data has a non-linear shape, then a linear model cannot capture the non-linear featuresDies ist ein weit verbreitetes Missverständnis. Zuallererst kann eine einfache lineare Regression sogar harmonische Reihen stats.stackexchange.com/questions/60500/… modellieren . Zweitens kann die Merkmalsinteraktion eingeführt werden, und natürlich gibt es ein verallgemeinertes lineares Modell, bei dem eine nichtlineare Funktion für die linearen Terme eingeführt wird (zum Beispiel die logistische Regression).
Ricardo Cruz
2

Soweit ich weiß, gibt es keine Regel, die besagt, welcher Algorithmus für welchen Datensatz funktioniert. Stellen Sie einfach sicher, dass Ihr Datensatz und die interessierenden Variablen die Voraussetzungen für die Ausführung jedes Algorithmus erfüllen, und probieren Sie es aus. Zum Beispiel hat die lineare Regression einige Voraussetzungen wie die Normalität der Studien, die Homoskedastizität (die Variabilität der Antwortvariablen ist auf allen Ebenen der erklärenden Variablen gleich) und so weiter. Überprüfen Sie diese einfach auf Ihre Variablen und probieren Sie den Algorithmus aus.

Sie können eine Point-and-Click-Software verwenden, um die Ergebnisse anzuzeigen, ohne sich auf die Code- und Parametereinstellung einzulassen. Wenn Sie ein R-Benutzer sind, ist das Rasselpaket in dieser Phase ein sehr nützliches Werkzeug. Sie erledigen Ihre Arbeit im Point-and-Click-Modus und haben Zugriff auf den Code dahinter.

Hamideh
quelle
Die einzige Faustregel, die ich gelesen habe, ist, dass Regressionen besser mit Rauschen umgehen als zufällige Wälder, was wahr klingt, weil Entscheidungsbäume diskrete Modelle sind, aber ich habe dies nie quantitativ getestet gesehen.
Ricardo Cruz