2017-09-27 4 views
0

Ich lerne maschinelles Lernen mit Python und verstehe, dass ich kategorische Daten nicht durch das Modell ausführen kann und zuerst Dummies erhalten muss. Einige meiner kategorialen Daten haben Nullen (ein sehr kleiner Teil von nur 2 Merkmalen). Wenn ich zu Dummies konvertiere, dann schaue ob ich fehlende Werte habe, es zeigt immer keine an. Sollte ich vorher imputieren? Oder unterstelle ich kategorische Daten überhaupt? Zum Beispiel, wenn die Kategorie männlich/weiblich wäre, würde ich Nullen nicht durch die Most_frequent ersetzen wollen. Ich sehe, dass dies sinnvoll wäre, wenn das Merkmal Einkommen wäre, und ich würde fehlende Werte implizieren. Einkommen ist Einkommen, während ein Mann kein Weib ist.Python Machine Learning - Kategorisierung von Daten?

Macht es also Sinn, kategorische Daten zu unterstellen? Bin ich weit weg? Es tut mir leid, das ist mehr angewandte Theorie als tatsächliche Python-Programmierung, aber war nicht sicher, wo diese Art von Frage zu posten.

+0

Können Sie erklären, was Sie mit Dummies meinen? – BradMcDanel

+0

Dummies ersetzen kategorische Daten durch Nullen und Einsen. Außerdem wird der Datensatz um die Anzahl unterschiedlicher Werte in Ihren Features erweitert. Ein Merkmal namens M/F wird also entweder männlich oder weiblich sein. Dies in Dummy-Form wird 2 Spalten sein .. männlich und weiblich, mit einer binären 0 oder 1 anstelle von Text. Dieses spezielle Beispiel scheint auch eine Ko-Linearität einzuführen, da jedes Mal, wenn die männliche Spalte 0 ist, die weibliche 1 ist und so weiter. – user3486773

+0

Sie meinen also nur M/F in einer 1-Hot-Codierung: M -> [0, 1] F-> [1, 0] – BradMcDanel

Antwort

3

Ich denke, die Antworten hängen von den Eigenschaften Ihrer Funktionen ab.

in fehlenden Daten geben Sie bitte mit expectation maximization (EM)

Sagen Sie zwei Funktionen haben, ist ein Geschlecht (hat fehlende Daten) und das andere ist Lohn (keine fehlenden Daten). Wenn zwischen den beiden Merkmalen eine Beziehung besteht, können Sie die im Lohn enthaltenen Informationen verwenden, um fehlende Werte im Geschlecht auszufüllen.

Um es ein wenig formeller zu sagen - wenn Sie einen fehlenden Wert in der Spalte Geschlecht haben, aber Sie einen Wert für Lohn haben, EM sagt Ihnen P (Geschlecht = männlich | Lohn = w0, Theta), dh die Wahrscheinlichkeit von das Geschlecht ist männlich, gegebener Lohn = w0 und Theta, was ein Parameter ist, der mit maximaler Wahrscheinlichkeitsschätzung erhalten wird.

In einfacheren Worten könnte dies erreicht werden, indem Regression von Geschlecht auf Lohn (logistische Regression verwenden, da die y-Variable kategorisch ist), um Ihnen die oben beschriebene Wahrscheinlichkeit geben.

Optisch:

enter image description here

(diese sind total Add-hoc-Werte, sondern die Idee vermitteln, dass die Lohnverteilung bei Männern im Allgemeinen über die Frauen das ist)

geben Werte # fehlt 2 Sie können wahrscheinlich fehlende Werte mit der häufigsten Beobachtung eingeben, wenn Sie glauben, dass die Daten zufällig fehlen, obwohl keine Beziehung zwischen den beiden Funktionen besteht. Ich wäre jedoch vorsichtig.

Nicht unterstellen Wenn zwischen den beiden Funktionen keine Beziehung besteht und Sie glauben, dass die fehlenden Daten nicht zufällig fehlen.