2016-08-09 3 views
2

Ich möchte eine spärliche logistische Regression trainieren, um Benutzer in zwei Klassen zu klassifizieren. Eines meiner Merkmale sind die Interessen der Benutzer, die nicht exklusiv sind (zB ein Benutzer kann sich für Autos, Bücher und Essen interessieren) und in der Anzahl variabel: ein Benutzer kann 5 Interessen haben, während ein anderer nur 3 haben kann, im Gegensatz zu die Beispiele in der Deep and Wide tutorial gezeigt (Alter, Bildung, etc.). Ich möchte den Code aus dem tiefen und weiten Tutorial so oft wie möglich wiederverwenden, da ich schließlich mein Modell erweitern möchte, um auch eine tiefe Komponente zu haben. Was ist der einfachste Weg das zu erreichen? Ich bin auch daran interessiert, die Zeit Komplexität für das Training/Scoring ein Beispiel zu O(active_features) beizubehalten.Wie können Tensorflow-Feature-Spalten für wiederholbare Features verwendet werden?

Antwort

0

Sie könnten für jede Interessen eine Spalte erstellen (ein boolescher Wert für ob es ihr Interesse ist oder nicht). Das sollte funktionieren, wenn alle Interessen bekannt sind. Eine andere Möglichkeit ist die Verwendung der Ein-Hot-Codierung.

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

Wenn nicht alle Interessen bekannt sind, dann können Sie die Größe des Vektors auf n + 1 könnte, den zusätzlichen Raum für einen ‚anderen‘ Kategorie zuzuordnen.

In TensorFlow können Sie so etwas tun, wenn Sie die SKFlow-API verwenden möchten.

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 

Lauf Dies gibt der folgende:

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

Hallo, @craymicheal, könnten Sie mir sagen, wie ich das Endergebnis eines crossed_column für Werte von csv lesen sehen kann? – skadoosh

Verwandte Themen