使用tensorflow

时间:2018-03-10 18:23:37

标签: python tensorflow deep-learning classification tensorflow-estimator

我正在学习张量流。我想做一些简单的" guesser"基于数字。我有以下csv:

val1;val2;result
1;1;2
1;2;3
2;1;3
2;2;4
2;3;5
3;2;5
3;3;6

公式只是添加两个数字(例如1 + 1 = 2)。我试过这个:

train_x, train_y = load_data()
my_feature_columns = []
for key in train_x.keys():
    my_feature_columns.append(tf.feature_column.numeric_column(key=key))
classifier = tf.estimator.DNNClassifier(
                                            feature_columns=my_feature_columns,
                                            hidden_units=[10,10],
                                            n_classes=3
                                           )
classifier.train(input_fn=lambda: train_input_fn(train_x, train_y, 100), steps=1000)
classifier.evaluate(input_fn=lambda: train_input_fn(train_x, train_y, 100), steps=1000)

expected = [8, 12]
predict_x = {
    'val1': [4, 6],
    'val2': [4, 6],
}
predictions = classifier.predict(predict_x)

以上代码不起作用。我收到了错误:

Label IDs must < n_classes

我希望收到基于val1和val2的.predict()函数结果,如上面的代码:4+4=86+6=12

1 个答案:

答案 0 :(得分:1)

你的猜测器解决了回归问题,而不是分类this question解释了差异)。试试这个:

classifier = tf.estimator.DNNRegressor(
                                            feature_columns=my_feature_columns,
                                            hidden_units=[10,10],
                                           )