Ist eine explorative Datenanalyse bei der Durchführung einer rein prädiktiven Modellierung wichtig?

23

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?

blast00
quelle
6
Sie fragen nach "exploratorischer Datenanalyse", aber Sie fügen auch das [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.
gung - Wiedereinsetzung von Monica
Was genau ist "Feature-Generierung"? Ist es nicht ein Erkundungsprozess?
Einar
5
In letzter Zeit habe ich 224 Beobachtungen von 37 Personen erhalten. Ich hatte geplant, unter anderem den Einfluss von Geschlecht / Geschlecht zu untersuchen, als mir eine deskriptive Analyse sagte, dass es 36 Frauen und 1 Mann gab. Aufgrund dieser beschreibenden Statistik habe ich alle Analysen in Bezug auf Geschlecht / Geschlecht übersprungen. Es war für mich wichtig, weil Beschreibungen meinen Modellbildungsprozess beeinflussten. Mehr zu diesen Daten hier stats.stackexchange.com/questions/352015/…
Bernhard

Antworten:

47

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:

  • Eine kategoriale Variable passte fast perfekt zum Ziel.
  • Bei zwei oder drei Variablen fehlte mehr als die Hälfte ihrer Werte.
  • Einige Variablen hatten extreme Ausreißer.
  • Zwei der numerischen Variablen waren perfekt korreliert.
  • etc.

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!

Flunder
quelle
8
Wenn ich Studentenaufgaben gebe, mache ich das oft auch ;-).
gung - Wiedereinsetzung von Monica
14

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, Areaals 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 Titleder 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.

IEatBagels
quelle
8

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.

Peter Flom - Wiedereinsetzung von Monica
quelle
8

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.

  • Tragen Sie die Dichte jeder (stetigen) Variablen auf. Wie sind die Zahlen verzerrt? Benötige ich eine Protokolltransformation, damit die Daten sinnvoll sind? Wie weit sind die Ausreißer entfernt? Gibt es irgendwelche Werte, die physikalisch oder logisch keinen Sinn ergeben?
  • Halten Sie Ausschau nach NAs. Normalerweise können Sie sie einfach verwerfen, aber wenn es viele gibt oder wenn sie einen entscheidenden Aspekt für das Verhalten des Systems darstellen, müssen Sie möglicherweise einen Weg finden, die Daten neu zu erstellen. Dies könnte ein Projekt für sich sein.
  • Zeichnen Sie jede Variable gegen die Antwortvariable. Wie viel Sinn kannst du daraus machen, indem du es betrachtest? Gibt es offensichtliche Kurven, die mit Funktionen ausgestattet werden können?
  • Prüfen Sie, ob Sie überhaupt ein kompliziertes ML-Modell benötigen. Manchmal ist eine lineare Regression alles, was Sie wirklich brauchen. Auch wenn dies nicht der Fall ist, bietet es eine gute Basis für die Verbesserung Ihres ML-Modells.

Ü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.

Ingolifs
quelle
6

Statistische Perspektive:

Abgesehen von Fehlern in der Modellierungsphase gibt es drei wahrscheinliche Ergebnisse beim Versuch der Vorhersage, ohne zuerst EDA durchzuführen:

  1. Die Vorhersage liefert offensichtliche Unsinnergebnisse, da Ihre Eingabedaten die Annahmen Ihrer Vorhersagemethode verletzten. Sie müssen jetzt zurückgehen und Ihre Eingaben überprüfen, um herauszufinden, wo das Problem liegt, dann das Problem beheben und die Analyse wiederholen. Je nach Art des Problems müssen Sie möglicherweise sogar Ihre Vorhersagemethoden ändern. (Was meinst du, das ist eine kategoriale Variable?)
  2. Die Vorhersage liefert Ergebnisse, die schlecht, aber nicht offensichtlich schlecht sind, da Ihre Daten in etwas weniger offensichtlicher Weise gegen Annahmen verstoßen haben. Entweder gehen Sie zurück und überprüfen diese Annahmen trotzdem (in diesem Fall siehe Nr. 1 oben), oder Sie akzeptieren schlechte Ergebnisse.
  3. Glücklicherweise entsprechen Ihre Eingabedaten genau Ihren Erwartungen (ich verstehe, dass dies gelegentlich vorkommt), und die Vorhersage liefert gute Ergebnisse ... das wäre großartig, außer dass Sie den Unterschied zwischen diesen und den folgenden Werten nicht erkennen können: # 2 oben.

Projektmanagement-Perspektive:

Das Beheben von Datenproblemen kann viel Zeit und Mühe kosten. Zum Beispiel:

  • Die Daten sind verschmutzt und Sie müssen Zeit für die Entwicklung von Prozessen aufwenden, um sie zu bereinigen. (Zum Beispiel: Die Zeit, zu der ich eine Autokorrektur für alle Personen durchführen musste, die im Januar immer wieder das falsche Jahr eingeben, und die Personen, die das Datum in das Feld Jahr eingeben , und das System, das die Daten als MM / TT / JJJJ analysierte anstelle von TT / MM / JJJJ.)
  • Sie müssen Fragen dazu stellen, was die Daten bedeuten, und nur Joan kann sie beantworten. Joan macht einen sechsmonatigen Urlaub, der zwei Wochen nach Beginn Ihres Projekts beginnt.
  • Datenbeschränkungen hindern Sie daran, alles zu liefern, was Sie zu liefern beabsichtigten (vgl. Bernhard's Beispiel, dass Sie keine Analyse nach Geschlecht / Geschlecht erstellen können, da der Datensatz nur eine Frau hatte), und Sie / Ihre Kunden müssen herausfinden, was Sie dagegen tun sollen .

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.

Geoffrey Brent
quelle