无法将字符串转换为浮点数sklearn

can not convert string to float sklearn

我写了这个程序,但出现错误:

ValueError: could not convert string to float

我的代码:

import sqlite3
from sklearn import tree


database = sqlite3.connect("database.db")
c = database.cursor()

x = []
y = []

for row in c.execute('SELECT * FROM cars'):
    x.append(row[0])
    y.append(row[1])

clf = tree.DecisionTreeClassifier()
ml = clf.fit(x,y)

编辑:我读了这个 link (https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.LabelEncoder.html) 但我不知道如何在这个应用程序中使用标签编码器 - 请帮助我使用标签编码器或解决这个问题

如何正确使用 LabelEncoder 的示例:

我创建了一个 y 列表,其中包含一些字符串:

dummy_y = ['label1', 'label1', 'label2', 'label3', 'label77']

我们要将列表中的每个元素编码为一个数值,LabelEncoder将每个字符串值映射为对应的数值。

首先导入 LabelEncoder class 并创建它的实例:

from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()

现在我们可以 fit_transform 我们的虚拟列表,这意味着该实例将首先将每个字符串映射到具有 fit 的值,然后将实际应用到 transform:

encoded_dummy_y = le.fit_transform(dummy_y)

将return:

array([0, 0, 1, 2, 3])

其中0对应label11对应label2