ValueError: y содержит ранее невидимые метки: «некоторые значения» - PullRequest
0 голосов
/ 05 октября 2019

Я использую sklearn.LabelEncoder для преобразования моих категориальных данных в числовые для правильного подбора модели, но когда я применяю их к этому, я получаю эту ошибку

ValueError: y содержит ранее невидимые метки:'Уилкс, миссис Джеймс (Эллен Нидс)'

Категориальные столбцы в данных о поездах и тестах одинаковы.

Кто-нибудь, кто может сказать мне, в чем проблема?

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 голосов
/ 06 октября 2019

Во-первых, LabelEncoder() предназначено для целевой переменной. Мне кажется, что вы используете это для ввода данных. Я предполагаю, что OrdinalEncoder() удовлетворит ваше требование преобразования объектов в числовые значения.

Что касается вашей ошибки,

Некоторые значения в полях / столбцах тестовых данных отсутствуют в обучающих данных, следовательно, ordinalEnconder не знает, как их кодировать.

...