2016-06-25 17 views
2

H2Oの入力データ(データフレーム)の項目のセット/リストを表すにはどうすればよいですか?H2O用入力CSVの項目リストを表します

私は、H2Oフローで1.6.5の発火水を使用しています。 私の入力データ(CSVファイルの列)は次のようになります。

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

趣味とスポーツは、可能なエントリ(〜20それぞれ)の限られた数のリスト/セットです。 H2Oはこれに適したデータ型を持っていないようです。これらをH2Oフローで処理できるCSVファイルにエクスポートするにはどうすればよいですか?

+0

h2oについての考えはありませんが、マシン学習には「ワンホットエンコーディング」という概念があります。趣味やスポーツのリストに可能性のあるすべてのエントリを、あなたの性別属性のようなバイナリである「csv列」自体に単純にすることができます。 –

+0

有効なオプションのように聞こえます、ありがとう。しかし、これを手動で行うよりも、より簡単で維持可能な方法があることを願っています。 –

答えて

3

あなたがメインの趣味やメインスポーツを録画していただけの場合は、単一の列挙型の列になります。趣味、20レベル。 csvファイルに文字列フィールドとして書き込むだけで、H2Oがそれを読むでしょう。

しかし、私はあなたが後にしているのは、それぞれの人が20の趣味から0+の選択肢を持つ場所だと思いますか?その場合、あなたのcsvファイルには、趣味1つにつき20の列が必要です。それぞれ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, 

トムはフットボールと睡眠が好きDickはデータマイニングのために生き残っていますが、Suzyは実行中とデータマイニングに取り組んでいます。

ちなみに、deeplearningを使用すると、同じネットワーク構成になります.1つの20レベルの列挙型入力が20個の2進入力ノードに変換されます。

+0

Thx。これを私のCSVにどのように書き込むのですか?私は、趣味をコンマで区切ってみました(例えば、 "歌う、絵を描く")が、うまくいきませんでした。より良いフォーマットがあればCSVファイルを使用する必要はありません。 –

+0

申し訳ありません、@ MarkusKramer、あなたの質問のポイントを逃しました。ただ私の答えを更新しました。説明のために –

+0

ありがとうございます。 Thomasによって提案された「ワンホットエンコーディング」メソッドはH2Oの答えです –

関連する問題