как получить результат из tenorflow.estimator для фрейма данных, имеющего только один вход - PullRequest
0 голосов
/ 25 января 2019

код для ввода значений от пользователя и получения прогноза от модели

 m=[]
for j in range(0,1):
    l=[]
    print("enter new person details")
    for i in range(0,7):
        print("please enter the values")
        a=float(input())
        l.append(a)
input_vector_df=pd.DataFrame(m,columns=feat_cols)
prediction_input_function=tf.estimator.inputs.pandas_input_fn(x=input_vector_df,shuffle=False)#
prediction1=model.predict(prediction_input_function)
my_predb=list(prediction1)
print(mypredb[0])

ошибка после запуска этих строк кодов

   self._epoch_end = (self._trav - 1) % self._max
ZeroDivisionError: integer division or modulo by zero

обучающий код модели:

input_func=tf.estimator.inputs.pandas_input_fn(x=X_train,y=y_train,batch_size=10,num_epochs=1000,shuffle=True)
model=tf.estimator.LinearClassifier(feature_columns=feat_cols,n_classes=2)
model.train(input_fn=input_func,steps=1000)
eval_input_func=tf.estimator.inputs.pandas_input_fn(x=X_test,y=y_test,batch_size=10,num_epochs=1,shuffle=False)
results=model.evaluate(eval_input_func)
print(results)

функция для нормализации данных

diabetes[cols_to_norm]=diabetes[cols_to_norm].apply(lambda x:(x-x.min())/(x.max()-x.min()))

1 Ответ

0 голосов
/ 26 января 2019

input_vector_df состоит из пустого списка m. ZeroDivisionError повышается на model.predict(), который пытается предсказать вывод для пустого ввода.

...