提问者:小点点

sklearn决策树-无法将字符串转换为浮点


我有一个CSV文件包含truecar.com的汽车信息,我想用这个数据预测汽车的价格,但我得到了一个错误。

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个答案

匿名用户

方法在它的X参数(留档)中接受浮点数组。

我建议您对非数值变量进行热编码。我建议您阅读一些关于这种将一列分类数据转换为多列布尔值的方法的文章。

将分类数据传递给Sklearn决策树

为什么在机器学习中对数据进行一次性编码?