someuser1
someuser1

Reputation: 141

Guess number using tensorflow

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

Answers (1)

Maxim
Maxim

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

Related Questions