【问题标题】:ValueError: y contains previously unseen labels: 'some values"ValueError:y 包含以前看不见的标签:“一些值”
【发布时间】:2020-02-03 13:03:01
【问题描述】:

我正在使用sklearn.LabelEncoder 将我的分类数据转换为数字以进行正确的模型拟合,但是当我将其应用于此时,我得到了这个错误

ValueError: y contains previous unseen labels: 'Wilkes, Mrs. James (艾伦需要)'

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

谁能告诉我这是什么问题?

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])

【问题讨论】:

标签: python machine-learning scikit-learn


【解决方案1】:

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

关于你的错误,

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

【讨论】:

    猜你喜欢
    • 2021-07-07
    • 2021-05-29
    • 2021-05-27
    • 2018-02-27
    • 2020-11-21
    • 2011-03-23
    • 1970-01-01
    • 2012-07-04
    • 1970-01-01
    相关资源
    最近更新 更多