python - ValueError:无法将字符串转换为浮点数:'what'(Sklearn),如何使用标签编码器?
问题描述
我有两个训练集输入和输出集
X = df['First Word']
y = df['Answers']
当我尝试时:
from sklearn.tree import DecisionTreeClassifier
model = DecisionTreeClassifier()
model.fit(X,y)
predictions = model.predict(['how'])
我得到了错误:
ValueError: could not convert string to float: 'what'
错误是指 str() 无法传递给 fit() 方法。
在这种情况下如何使用 LabelEncoder 以使上述代码有效?
解决方案
所有 ML 模型都需要以数字形式输入,因此您需要根据需要对输入数据进行标签编码器或 one-hot 编码。
您可以使用以下代码对数据框进行编码
from sklearn import preprocessing
le = preprocessing.LabelEncoder()
X = le.fit_transform(X)
编码传递给模型后,我希望你不会得到那个错误
推荐阅读
- typescript - 基于参数的变量的动态返回
- php - 我只想在第一次运行 foreach 时回显某些内容
- python - 从 sqlite3 填充组合框可编辑用户名和行编辑密码
- api - 使用 CodeBird API 分享 Twitter 视频
- ibm-cloud - 使用 IBM Cloud Object Storage CLI 对存储桶发出获取请求时出现 403 错误
- javascript - 无法在标记上显示 InfoWindow onClick 事件
- javascript - 加载后jQuery取消分配自己
- javascript - 使用 jQuery 警告表中的空字段
- jdbc - pyspark df.write.format("jdbc") 授权声明 DB2
- c# - 如何从构造函数中减少过多的参数