2016-07-29 6 views
3

Ich versuche einen linearen Regressor mit Tensorflow zu trainieren.KeyError trotz vorhandener Spaltenüberschrift?

Die Anpassung funktioniert einwandfrei, wenn ich den Lerner instanziiere, indem die reellwertigen Spalten automatisch ermittelt werden.

auto_feature_columns = 
    tf.contrib.learn.infer_real_valued_columns_from_input(
     training_examples) 
linear_regressor = tf.contrib.learn.LinearRegressor(
    feature_columns=auto_feature_columns, 
    optimizer=tf.GradientDescentOptimizer(learning_rate=0.002), 
    gradient_clip_norm=3.14 
) 

Allerdings bekomme ich KeyErrors (für alle drei Spalten), wenn ich versuche, manuell die Spalten angeben:

linear_regressor = tf.contrib.learn.LinearRegressor(
    feature_columns=[ 
     tf.contrib.layers.real_valued_column('tailLength'), 
     tf.contrib.layers.real_valued_column('whiskerLength'), 
     tf.contrib.layers.real_valued_column('playfulness') 
    ], 
    optimizer=tf.GradientDescentOptimizer(learning_rate=0.002), 
    gradient_clip_norm=3.14 
) 

Das ungerade ist, da bin ich sicher, dass diese 3 Merkmale meiner Trainingsdaten .

+2

Haben Sie das jemals herausgefunden? – Jordan

Antwort

0

passiert der KeyError, wenn Sie versuchen, den Schätzer anzupassen?

Wenn ja, sollten Sie vielleicht eine Eingabefunktion verwenden, Feature Manipulation erlaubt, die feature_columns und Etikett mit den Schlüsseln zurückgibt, wie in https://www.tensorflow.org/tutorials/input_fn/

hatte ich den gleichen Fehler, wenn estimator.fit (x verwenden, y) ...

Prost,

Rafael.