sklearn 决策树 - 无法将字符串转换为浮点数
Posted
技术标签:
【中文标题】sklearn 决策树 - 无法将字符串转换为浮点数【英文标题】:sklearn decision tree - could not convert string to float 【发布时间】:2021-06-03 23:56:11 【问题描述】:我有一个包含来自 truecar.com 的汽车信息的 CSV 文件,我想用这些数据预测汽车的价格,但我收到了错误消息。这是回溯:
File "x\Python39\lib\site-packages\numpy\core\_asarray.py", line 102, in asarray
return array(a, dtype, copy=False, order=order)
ValueError: could not convert string to float: 'exterior_color'
代码:
import csv
from sklearn import tree
x = []
y = []
with open('x', 'r') as csv_file:
data = csv.reader(csv_file)
for line in data:
x.append(line[0:-2])
y.append(line[-1])
# print(x)
# print(y)
clf = tree.DecisionTreeClassifier()
clf = clf.fit(x, y)
【问题讨论】:
【参考方案1】:DecisionTreeClassifier
的fit
方法在X
参数(documentation) 中采用浮点数组。
我建议您对非数字变量进行一次热编码。我建议您阅读一些有关这种方法的文章,该方法将一列分类数据转换为多列布尔值。
Passing categorical data to Sklearn Decision Tree
Why One-Hot Encode Data in Machine Learning?
【讨论】:
以上是关于sklearn 决策树 - 无法将字符串转换为浮点数的主要内容,如果未能解决你的问题,请参考以下文章