LabelEncoder для двух DataFrames - PullRequest
0 голосов
/ 04 мая 2020

Я действительно борюсь с кодированием категориальных типов. Учитывая два кадра данных X_train и X_test, я пытаюсь закодировать все почтовые индексы. Самым большим препятствием для меня является возможность кодировать значения из обоих фреймов данных (поскольку они варьируются до некоторой степени) одним и тем же способом, поэтому я подумал о создании списка всех возможных значений почтового индекса, а затем использовать это кодировать обе серии (как части DataFrames). К сожалению, это не работает, так как появляется ошибка AttributeError: 'numpy.ndarray' object has no attribute 'transform'. У меня заканчиваются идеи.

X_train = X[['ticket_id','judgment_amount','zip_code']]
X_test = y[['ticket_id','judgment_amount','zip_code']]


Xtrain_zipcode =  X_train['zip_code'].dropna().unique().tolist()
Xtest_zipcode = X_test['zip_code'].dropna().unique().tolist()

zip_list = Xtrain_zip

for elem in Xtest_zipcode:
    if elem not in Xtrain_zipcode:
        zip_list.append(elem)

enc_zipc = LabelEncoder().fit(zip_list)
encoded = enc_zipc.transform(zip_list)
encoded.transform(X_train['zip_code'])

Я также прочитал , что LabelEncoder не рекомендуется при работе с категориальными функциями, которые являются входными данными. Что ты предлагаешь? Горячее кодирование?

1 Ответ

0 голосов
/ 04 мая 2020

пытались ли вы соединить поезд и проверить, а затем установить кодировщик на сцепленный почтовый индекс?

X_train = X[['ticket_id','judgment_amount','zip_code']]
X_test = y[['ticket_id','judgment_amount','zip_code']]
X_train['zip_code'] = X_train['zip_code'].astype(str)
X_test['zip_code'] = X_test['zip_code'].astype(str)

concat = pd.concat([X_train, X_test], axis=0, ignore_index=True)

enc_zipc = LabelEncoder()
enc_zipc.fit(concat['zip_code'])

X_train['zip_code'] = enc_zipc.transform(X_train['zip_code'])
X_test['zip_code'] = enc_zipc.transform(X_test['zip_code'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...