ValueError:y包含以前看不见的标签:“某些值”

时间:2019-10-05 14:11:49

标签: python machine-learning scikit-learn

我正在使用sklearn.LabelEncoder将分类数据转换为数值以进行适当的模型拟合,但是当我对此应用数据时,会出现此错误

  

ValueError:y包含以前看不见的标签:“ Wilkes,詹姆斯夫人   (艾伦·尼德斯)'

训练数据和测试数据中的类别列相同。

谁能告诉我问题出在哪里?

from sklearn.preprocessing import LabelEncoder
train_data.fillna(0)
s= (train_data.dtypes == 'object')
object_cols = list(s[s].index)
label_train_data=train_data.copy()
label_test_data=test_data.copy()
Label_encoder=LabelEncoder()
for col in object_cols:
  label_train_data[col]=Label_encoder.fit_transform(train_data[col])
  label_test_data[col]=Label_encoder.transform(test_data[col])

1 个答案:

答案 0 :(得分:0)

首先,LabelEncoder()用于目标变量。在我看来,您正在使用它来输入数据。我猜OrdinalEncoder()会满足您将对象转换为数字的要求。

关于您的错误

训练数据中不存在测试数据字段/列中的某些值,因此ordinalEnconder不知道如何对其进行编码。