无法将字符串转换为浮点数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
对应label1
,1
对应label2
等
我写了这个程序,但出现错误:
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
对应label1
,1
对应label2
等