【发布时间】:2021-07-23 18:36:20
【问题描述】:
我有两个训练集输入和输出集
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 才能使上面的代码起作用?
【问题讨论】:
-
这种错误 ValueError: could not convert string to float: 从 csv 文件中读取数据帧时会发生 df = df[['p']].astype({'p ': 漂浮})。如果 csv 是用空格记录的,python 不会将空格字符识别为 nan。您需要使用 df = df.replace(r'^\s*$', np.nan, regex=True) 用 NaN 覆盖空单元格
-
没有nans
标签: python pandas scikit-learn decision-tree sklearn-pandas