首页 > 解决方案 > 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 以使上述代码有效?

标签: pythonpandasscikit-learndecision-treesklearn-pandas

解决方案


所有 ML 模型都需要以数字形式输入,因此您需要根据需要对输入数据进行标签编码器或 one-hot 编码。

您可以使用以下代码对数据框进行编码

 from sklearn import preprocessing
 le = preprocessing.LabelEncoder()
 X = le.fit_transform(X)

编码传递给模型后,我希望你不会得到那个错误


推荐阅读