2016-06-25 5 views
2

Как представить набор/список элементов во входных данных (фрейм данных) для H2O?Представляет список элементов ввода CSV для H2O

Я использую игристую воду 1.6.5 с потоком H2O. Мои исходные данные (столбцы в файле CSV) выглядит следующим образом:

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

хобби и спорт списки/наборы с ограниченным числом возможных записей (~ 20 каждый). Для этого H2O, похоже, не имеет подходящего типа данных. Как экспортировать их в файл CSV, который может быть обработан H2O Flow?

+0

Не знаю о h2o, но машинное обучение имеет понятие «одна горячая кодировка». Вы можете просто сделать всевозможные записи в вашем списке хобби и спорта, как «столбец csv», который является двоичным, как ваш гендерный атрибут. –

+0

Звучит как действительный вариант, спасибо. Тем не менее, я надеюсь, что есть более простой и удобный способ, чем делать это вручную. –

ответ

3

Если вы просто записывали свое основное хобби или основной вид спорта, то это была бы единственная колонка перечисления, например. хобби, с 20 уровнями. Вы просто напишете это как строковое поле в вашем файле csv, и H2O прочитает его.

Но я думаю, что вы за то, что каждый человек имеет 0+ вариантов из 20 хобби? В этом случае вам нужно иметь 20 столбцов в вашем файле csv, по одному на хобби; каждый из них будет состоять из 2-значного перечисления. Это не имеет значения, что эти два значения: Y/N, T/F,/пусто, хобби имя-Y/пустой, и т.д. Файл CSV может выглядеть следующим образом:

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

Том любит футбол и сон , Дик живет за добычу данных и ничего больше, и Сьюзи работает в режиме работы и интеллектуального анализа данных.

Кстати, если используется deeplearning, то он будет иметь одинаковую конфигурацию сети: один 20-разрядный перечислимый вход будет преобразован в 20 двоичных входов.

+0

Thx. Как написать это в мой CSV? Я попытался разделить хобби с запятыми (например, «пение, живопись»), но это не сработало. Мне не нужно использовать CSV-файл, если есть лучший формат. –

+0

Извините, @MarkusKramer, я пропустил суть вашего вопроса. Просто обновил свой ответ. –

+0

спасибо за объяснение. поэтому метод «одного горячего кодирования», предложенный Томасом, является ответом на H2O, а также –