Machine learning sklearn-ValueError:无法将字符串转换为浮点:';是';

Machine learning sklearn-ValueError:无法将字符串转换为浮点:';是';,machine-learning,scikit-learn,Machine Learning,Scikit Learn,我有一个数据集,其中包含以下分类数据。 当使用sklearn执行一次热编码时,我得到一个错误 def ohe_encode(train, test, index): Onehot = OneHotEncoder(categorical_features='all', handle_unknown='error') x_train_1 = train x_test_1 = test colname = df.columns[index] Onehot.fit

我有一个数据集,其中包含以下分类数据。 当使用sklearn执行一次热编码时,我得到一个错误

def ohe_encode(train, test, index):
    Onehot = OneHotEncoder(categorical_features='all', handle_unknown='error')
    x_train_1 = train
    x_test_1 = test
    colname = df.columns[index]
    Onehot.fit(train[colname].astype(str))
    x_trans = Onehot.transform(train[columnns].astype(str))
    new_features = Onehot.transform(test[colname].astype(str))
    return (x_transform, new_features)
屏幕显示出现错误

ValueError: could not convert string to float: 'yes'
无法获取错误原因

提前感谢,

摘自(我的重点):

使用one-of-K方案对分类的整数特征进行编码

此转换器的输入应为整数矩阵,表示 分类(离散)特征所采用的值

但是,您需要输入原始的分类值,例如«是»和«否»等字符串。因此您得到了ValueError


您需要首先输入数据,这意味着您需要将字符串转换为分类数字(整数)。然后您可以进行一次热编码。

请尝试提出更详细的标题(现在编辑)。