2016-06-25 4 views
2

Wie stelle ich einen Satz/eine Liste von Elementen in den Eingabedaten (Datenrahmen) für H2O dar?Repräsentieren Sie eine Liste von Elementen in der Eingabe-CSV für H2O

Ich benutze Mineralwasser 1.6.5 mit H2O Flow. Meine Eingangsdaten (Spalten in der CSV-Datei) wie folgt aussehen:

age: numeric 
gender: enum 
hobbies: ? 
sports: ? 

Hobbys und Sport sind Listen/Sätze mit einer begrenzten Anzahl von möglichen Einträgen (~ 20 jeweils). H2O scheint dafür keinen geeigneten Datentyp zu haben. Wie kann ich diese in eine CSV-Datei exportieren, die von H2O Flow verarbeitet werden kann?

+0

Keine Ahnung von h2o, aber maschinelles Lernen hat ein Konzept namens 'one hot encoding'. Sie können einfach jeden möglichen Eintrag in Ihrem Hobby und Sport machen eine "CSV-Spalte" selbst, die binär wie Ihr Geschlecht Attribut ist. –

+0

Klingt wie eine gültige Option, danke. Ich hoffe jedoch, dass es einen einfacheren/wartungsfreundlicheren Weg gibt, als dies manuell zu tun. –

Antwort

3

Wenn Sie nur ihr Haupthobby oder Hauptsportart aufzeichnen würden, dann wäre es eine einzelne Enum-Spalte, z. Hobbys mit 20 Levels. Sie würden es einfach als String-Feld in Ihre CSV-Datei schreiben, und H2O würde es lesen.

Aber ich denke, was Sie danach suchen, ist, wo jede Person 0+ Wahlen von 20 Hobbys hat? In diesem Fall müssen Sie 20 Spalten in Ihrer CSV-Datei haben, eine pro Hobby; Jeder wird ein 2-Wert-Enum sein. Es spielt keine Rolle, was die beiden Werte sind: Y/N, T/F, Y/blank, Hobby-name/leer, etc. Ihre CSV-Datei könnte folgendermaßen aussehen:

name,gender,football?,running?,data mining?,sleeping? 
Tom,M,Y,,,Y 
Dick,M,,,Y, 
Suzy,F,,Y,Y, 

Tom mag Fußball und Schlafen Dick lebt für Data Mining und sonst nichts und Suzy ist für das Laufen und Data Mining zuständig.

Übrigens, wenn Sie deeplearning verwenden, dann wird es mit der gleichen Netzwerkkonfiguration enden: ein einzelner Enum-Eingang mit 20 Ebenen wird in 20 Binäreingangsknoten umgewandelt.

+0

Thx. Wie schreibe ich das in meine CSV? Ich habe versucht, die Hobbies durch Kommas zu trennen (z. B. "singen, malen"), aber das hat nicht funktioniert. Wenn es ein besseres Format gibt, muss ich keine CSV-Datei verwenden. –

+0

Entschuldigung, @MarkusKramer, ich habe den Punkt Ihrer Frage verpasst. Habe gerade meine Antwort aktualisiert. –

+0

danke für die Erklärung. also ist die von Thomas vorgeschlagene "one hot encoding" Methode auch die Antwort für H2O –

Verwandte Themen