我正在尝试使用Tensorflow训练线性回归量。
如果我通过自动确定实值列来实例化学习者,则拟合工作正常。
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
)
但是,当我尝试手动指定列时,我得到了KeyErrors(对于所有3列):
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
)
这很奇怪,因为我确信这3个是我的训练数据的特征。
答案 0 :(得分:0)
当您尝试拟合估算器时,是否会发生KeyError?
如果是这样,也许您应该使用输入功能,允许功能操作,返回feature_columns和具有这些键的标签,如https://www.tensorflow.org/tutorials/input_fn/
使用estimator.fit(x,y)时出现了同样的错误......
干杯,
圣拉斐尔。