csvからのデータの単純な線形リグレッサーを構築しています。データには、一部の人の体重と身長の値が含まれています。全体的な学習プロセスは非常にシンプルです。
MAX_STEPS = 2000
# ...
features = [tf.contrib.layers.real_valued_column(feature_name) for feature_name in FEATURES_COL]
# ...
linear_regressor = tf.contrib.learn.LinearRegressor(feature_columns=features)
linear_regressor.fit(input_fn=prepare_input, max_steps=MAX_STEPS)
しかし、リグレッサーによって構築されたモデルは、予想外に悪いものです。結果は次の図で説明できます。
視覚化コード (念のため):
plt.plot(height_and_weight_df_filtered[WEIGHT_COL],
linear_regressor.predict(input_fn=prepare_full_input),
color='blue',
linewidth=3)
以下は、scikit-learn から LinearRegression クラスに与えられた同じデータです。
lr_updated = linear_model.LinearRegression()
lr_updated.fit(weight_filtered_reshaped, height_filtered)
ステップ数を増やしても効果はありません。TensorFlow のリグレッサーを間違った方法で使用していると思います。