Wozu dient eine explorative Datenanalyse (EDA) beim Erstellen eines Vorhersagemodells mithilfe von Techniken des maschinellen Lernens? Ist es in Ordnung, direkt zur Feature-Generierung zu springen und Ihre Modelle zu erstellen? Wie wichtig sind deskriptive Statistiken in der EDA?
23
[descriptive-statistics]
Tag hinzu und Ihre letzte Frage ist, ob deskriptive Statistiken wichtig sind. Meinen Sie in diesem Zusammenhang nur die Berechnung verschiedener deskriptiver Statistiken, wenn Sie EDA erwähnen, oder fragen Sie nach sowohl deskriptiver Statistik als auch EDA? Ich frage, weil viele Menschen (einschließlich mir) EDA als mehr als nur beschreibende Statistik ansehen.Antworten:
Vor nicht allzu langer Zeit hatte ich eine Interviewaufgabe für eine Stelle im Bereich Data Science. Ich erhielt einen Datensatz und wurde gebeten, ein Vorhersagemodell zu erstellen, um eine bestimmte binäre Variable mit einer zeitlichen Begrenzung von einigen Stunden vorhersagen zu können.
Ich habe nacheinander alle Variablen durchgesehen, grafisch dargestellt, zusammenfassende Statistiken berechnet usw. Ich habe auch Korrelationen zwischen den numerischen Variablen berechnet.
Unter den Dingen, die ich fand, waren:
Mein Punkt ist, dass dies Dinge waren, die absichtlich eingegeben wurden, um zu sehen, ob die Leute sie bemerken würden, bevor sie versuchen, ein Modell zu bauen. Das Unternehmen hat sie eingesetzt, weil sie im wirklichen Leben vorkommen können und die Modellleistung drastisch beeinträchtigen.
Also ja, EDA ist wichtig beim maschinellen Lernen!
quelle
Natürlich ja.
Die Datenanalyse könnte Sie zu vielen Punkten führen, die Ihrem Vorhersagemodell schaden würden:
Unvollständige Daten
Angenommen, es handelt sich um quantitative Daten, müssen Sie entscheiden, ob Sie die Spalte ignorieren möchten (wenn zu viele Daten fehlen) oder herausfinden, was Ihr "Standard" -Wert ist (Mittelwert, Modus, usw.). Sie können dies nicht tun, ohne zuerst Ihre Daten zu untersuchen.
Ungewöhnliche Daten
Sagen Sie Daten haben , die ziemlich stark korreliert ist , aber es gibt ein 2% Ihrer Daten, die ist Weg aus dieser Korrelation. Möglicherweise möchten Sie diese Daten vollständig entfernen, um Ihrem Vorhersagemodell zu helfen
Entfernen Sie zu stark korrelierte Spalten
Ok, das widerspricht ein bisschen meinem vorherigen Punkt, aber Englisch ist nicht meine Hauptsprache, also hoffe ich, dass du es verstehst.
Ich nehme ein dummes Beispiel: Sie analysieren den Datensatz eines Fußballstadions und haben ihn
Width, Length, Area
als Parameter. Nun, wir können uns leicht vorstellen, dass diese drei Parameter stark korrelieren werden. Wenn Ihre Spalte zu stark korreliert, führt dies das Vorhersagemodell in eine falsche Richtung. Möglicherweise möchten Sie einen oder mehrere Parameter löschen.Finden Sie neue Funktionen
Ich nehme das Beispiel der kleinen Titanic Kaggle "Competition" . Wenn Sie sich die Namen der Leute ansehen, können Sie herausfinden, dass Sie eine Funktion extrahieren können, die
Title
der Person entspricht. Diese Funktion erweist sich für die Modellierung als ziemlich wichtig, aber Sie hätten sie verpasst, wenn Sie Ihre Daten nicht zuerst analysiert hätten.Sie können sich dafür entscheiden, Ihre fortlaufenden Daten zu bündeln, weil dies angemessener erscheint, oder eine fortlaufende Funktion in eine kategoriale zu verwandeln.
Finden Sie den zu verwendenden Algorithmus
Ich kann im Moment keine Pläne zeichnen, aber lassen Sie uns dies ein einfaches Beispiel machen.
Stellen Sie sich vor, Sie haben ein kleines Modell mit einer Feature-Spalte und einer binären Ergebnisspalte (nur 0 oder 1). Sie möchten ein prädiktives Klassifizierungsmodell für diesen Datensatz erstellen.
Wenn Sie es erneut als Beispiel plotten (also analysieren Sie Ihre Daten), stellen Sie möglicherweise fest, dass das Plot einen perfekten Kreis um Ihren Wert 1 bildet. In einem solchen Szenario wäre es ziemlich offensichtlich, dass Sie einen Polynomklassifikator verwenden könnten, um ein großartiges Modell zu erhalten, anstatt direkt zum DNN zu springen. (Angesichts der Tatsache, dass mein Beispiel nur zwei Spalten enthält, ist es natürlich kein hervorragendes Beispiel, aber Sie verstehen, worum es geht.)
Insgesamt können Sie nicht erwarten, dass ein Vorhersagemodell eine gute Leistung erbringt, wenn Sie sich die Daten nicht zuerst ansehen.
quelle
Eine wichtige Aufgabe von EDA ist das Auffinden von Dateneingabefehlern und anderen anormalen Punkten.
Ein weiterer Grund ist, dass die Verteilung von Variablen die Modelle beeinflussen kann, die Sie anpassen möchten.
quelle
Früher hatten wir in der Chemie einen Satz:
" Zwei Wochen im Labor können Ihnen zwei Stunden bei Scifinder sparen ".
Ich bin sicher, das gilt auch für maschinelles Lernen:
"Durch zwei Wochen Training mit einem Neuralnet sparen Sie 2 Stunden beim Betrachten der Eingabedaten. "
Dies sind die Dinge, die ich durchmachen würde, bevor ich einen ML-Prozess beginne.
Über diese grundlegenden Schritte hinaus würde ich nicht viel zusätzliche Zeit aufwenden, um die Daten zu untersuchen, bevor ML-Prozesse darauf angewendet werden. Wenn Sie bereits über eine große Anzahl von Variablen verfügen, wird es immer schwieriger, komplizierte nichtlineare Kombinationen von Variablen zu finden, zu zeichnen und zu verstehen. Dies ist die Art von Sachen, die am besten vom Computer gehandhabt werden.
quelle
Statistische Perspektive:
Abgesehen von Fehlern in der Modellierungsphase gibt es drei wahrscheinliche Ergebnisse beim Versuch der Vorhersage, ohne zuerst EDA durchzuführen:
Projektmanagement-Perspektive:
Das Beheben von Datenproblemen kann viel Zeit und Mühe kosten. Zum Beispiel:
Je früher Sie solche Probleme erkennen können, desto besser sind Ihre Chancen, Ihr Projekt auf Trab zu halten, pünktlich fertig zu werden und Ihre Kunden zufrieden zu stellen.
quelle