python-3.x - ValueError:无法将字符串转换为浮点数:'ane'
问题描述
print(xtest.head())
print("predicted as",myModel.predict(xtest))
输出:-
age bp sg al su rbc pc ... rbcc htn dm cad appet pe ane
235 45.0 70.0 1.01 2.0 0.0 1.0 1.0 ... 4.8 0.0 0.0 1.0 1.0 0.0 1.0
[1 rows x 24 columns]
predicted as [[0.99633694]]
xtest 数据框有一个名为的列ane
,模型预测良好。但是当我以字典的形式给出相同的输入时
di={'age': 59, 'bp': 70, 'sg': 1.01, 'al': 1.0, 'su': 3.0, 'rbc': 0.0, 'pc': 0.0, 'pcc': 0.0, 'ba': 0.0, 'bgr': 424.0, 'bu': 55.0, 'sc': 1.7, 'sod': 138.0, 'pot': 4.5, 'hemo': 12.0, 'pcv': 37.0, 'wbcc': 10200.0, 'rbcc': 4.1, 'htn': 1.0, 'dm': 1.0, 'cad': 1.0, 'appet': 1.0, 'pe': 0.0, 'ane': 1.0 }
b=pd.DataFrame(di.items())
b=b.T
x['ane'] = x['ane'].astype(float)
tensor = tf.convert_to_tensor(b, dtype=tf.float64)
print(myModel.predict((tensor)))
它显示以下错误:-
ValueError: could not convert string to float: 'ane'
在训练模型中,我做了同样的转换并且效果很好。
我的 colab 笔记本:-
https://colab.research.google.com/drive/1DomDo3adwRBQUFD0g8JVpF5jxC9HoegW
解决方案
你应该试试这个代码,我也替换了 colab 中的 smae 代码。
import pandas as pd
di={'age': 59, 'bp': 70, 'sg': 1.01, 'al': 1.0, 'su': 3.0, 'rbc': 0.0, 'pc': 0.0, 'pcc': 0.0, 'ba': 0.0, 'bgr': 424.0, 'bu': 55.0, 'sc': 1.7, 'sod': 138.0, 'pot': 4.5, 'hemo': 12.0, 'pcv': 37.0, 'wbcc': 10200.0, 'rbcc': 4.1, 'htn': 1.0, 'dm': 1.0, 'cad': 1.0, 'appet': 1.0, 'pe': 0.0, 'ane': 1.0 }
b=pd.DataFrame(list(di.items()),index=di)
b= b.drop(columns=0)
b=b.T
b['ane'] = b['ane'].astype(float)
tensor = tf.convert_to_tensor(b, dtype=tf.float32)
print(myModel.predict((tensor)))
推荐阅读
- javascript - 如何添加 clicklistener 以缩放传单地图上的元素?
- python - ImportError:没有名为 lib 的模块
- javascript - 节点流以奇怪的格式返回字符串
- c# - 将输入添加到最多包含 10 个单词的字符串 C#
- javascript - NodeJS - 如何处理 UnhandledPromiseRejectionWarning?
- c - 无法读取 .txt 文件并将其存储到数组中
- typescript - 打字稿中函数的类型缩小返回类型
- python - 无法在测试文件中导入模块
- mysql - 使用 SSIS ODBC 目标批处理方法将数据从 SQL Server 移动到 MySQL 时发生错误
- python - 无法运行 PyTest-bdd 步骤定义文件,因为它抛出索引超出范围错误