Reputation: 141
I am learning tensor flow. I would like to make some simple "guesser" based on numbers. I have following 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
Equation is just adding two numbers (ex. 1+1=2). I tried with this:
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)
Above code doesn't work. I am getting error:
Label IDs must < n_classes
I want to receive from .predict()
function results based on val1 and val2 as in above code: 4+4=8
and 6+6=12
Upvotes: 2
Views: 842
Reputation: 53758
Your guesser solves a regression problem, not classification (this question explains the difference). Try this:
classifier = tf.estimator.DNNRegressor(
feature_columns=my_feature_columns,
hidden_units=[10,10],
)
Upvotes: 1