2016-08-09 14 views
2

私は2つのクラスのユーザーを分類するために疎logistic回帰を訓練したいと思います。私の特徴の1つは、非独占的である(例えば、ユーザーが車、書籍、食べ物に興味を持つことができる)利便性が高く、可変であるということです。ユーザーは5つの利害を持つことができます。 Deep and Wide tutorialに示されている例(年齢、教育など)。私は深いコンポーネントを持つように私のモデルを拡張したいので、私はできるだけ深く広いチュートリアルのコードを再利用したいと思います。それを達成する最も簡単な方法は何ですか?私はまた、トレーニング/スコアリングのための時間の複雑さを維持することに興味を持っていますO(active_features)の例。繰り返し可能なフィーチャにテンソルフローを使用するにはどうすればよいですか?

答えて

0

各関心の列を作成することができます(興味があるかどうかのブール値)。すべての利益が分かっていればそれはうまくいくはずです。これを行う別の方法は、ワンホットエンコーディングを使用することです。

E.g. Interests are cars, books and food. 
001 is cars 
010 is books 
100 is food 
101 is food and cars 
etc. 

ていないすべての利益は、あなたが「その他」カテゴリの追加スペースを割り当て、N + 1のベクトルの大きさを設定することができます知られている場合。

SKFlow APIを使用する場合は、TensorFlow内で、このような操作を行うことができます。

x=tf.SparseTensor([[0,1],[1,0]], [1,1], [2,2]) 
y=tf.sparse_tensor_to_dense(x) 
input_layer = tf.contrib.layers.real_valued_column('test', 2) # 2 Being the dimension of the inputs 

これは以下のようになります実行:

sess.run(tf.contrib.layers.input_from_feature_columns(columns_to_tensors={'test':y}, feature_columns=[input_layer])) 
array([[ 0., 1.], 
     [ 1., 0.]], dtype=float32) 
+0

こんにちは、@craymicheal、私はCSVファイルから読み込む値のためcrossed_columnの最終結果を見ることができる方法を教えてください。 – skadoosh

関連する問題