Machine learning &引用;ValueError:无法将字符串转换为浮点值;使用OneHotEncoder进行机器学习时

Machine learning &引用;ValueError:无法将字符串转换为浮点值;使用OneHotEncoder进行机器学习时,machine-learning,scikit-learn,one-hot-encoding,Machine Learning,Scikit Learn,One Hot Encoding,我使用LabelEncoder和OneHotEncoder来处理数据集中的“分类数据”。在我的数据集中,有一列可以有两个值“汽油”或“柴油”,我想对该列进行编码。我正在运行这段代码,它给出了一个错误 import numpy as np import pandas as pd from sklearn.preprocessing import LabelEncoder,OneHotEncoder dataset = pd.read_csv('ToyotaCorolla.csv') X = da

我使用LabelEncoder和OneHotEncoder来处理数据集中的“分类数据”。在我的数据集中,有一列可以有两个值“汽油”或“柴油”,我想对该列进行编码。我正在运行这段代码,它给出了一个错误

import numpy as np
import pandas as pd
from sklearn.preprocessing import LabelEncoder,OneHotEncoder

dataset = pd.read_csv('ToyotaCorolla.csv')
X = dataset.iloc[:, 1:10].values
y = dataset.iloc[:, 0].values

labelencoder_X = LabelEncoder()
X[:, 3] = labelencoder_X.fit_transform(X[:, 3])
onehotencoder = OneHotEncoder(categorical_features = [3])
X = onehotencoder.fit_transform(X).toarray()
列[3]将具有分类值。但它显示了一个错误“ValueError:无法将字符串转换为float:‘Diesel’”。
我不知道我错在哪里。请帮忙。谢谢

分类功能
已被弃用,请直接转换分类功能

onehotencoder = OneHotEncoder(categories='auto')
feature = onehotencoder.fit_transform(X[:, 3].reshape(-1, 1))

当您的x具有类别为字符串格式的列时,会出现此错误 当我犯了这个错误 正如您对第3列所做的那样,我对X中的所有分类列使用了标签编码器 然后对第3列应用一个热编码器


“因此,您需要做的是在X中标记所有分类列,然后对所需列应用一个热编码器”

问题与
spyder
无关-请不要垃圾邮件无关的标记(删除并替换为
scikit learn
)。