我正在使用DNNRegressor
训练label_dimension=7
并且预测值非常糟糕。我认为问题的根源在于使用3.4e+09
,6.8e+08
等值来报告训练损失,这些值不会收敛。我对超参数进行了各种调整,例如num_layers
,hidden_units
等,但预测值只是垃圾。
以下是一些示例输入:
f1 f2 f3 f4 f5 f6 f7 l1 l2 l3 l4 l5 l6 l7
39000.0 120.0 65.0 1000.0 25.0 0.69 3.94 39000.0 39959.0 42099.0 46153.0 49969.0 54127.0 55911.0
32000.0 185.0 65.0 1000.0 75.0 0.46 2.19 32000.0 37813.0 43074.0 48528.0 54273.0 60885.0 63810.0
30000.0 185.0 65.0 1000.0 25.0 0.41 1.80 30000.0 32481.0 35409.0 39145.0 42750.0 46678.0 48595.0
此处,f
列是要素,l
列是标签(即预测目标)。
DNNRegressor(
label_dimension=7,
hidden_units=[64, 32],
feature_columns=deep_cols,
model_dir=model_dir,
weight_column_name=None,
optimizer=None, #defaults to Adagrad when None
activation_fn=None, #defaults to relu when None
config=tf.contrib.learn.RunConfig(save_checkpoints_secs=60),
feature_engineering_fn=None
)
我的问题是与DNNRegressor
的初始化有关还是与其他内容有关?我从Google Cloud的人口普查示例中移植了代码,它适用于人口普查数据,但不适用于我的数据。