Использование двоичного кодирования: как вернуть исходные значения из кодированных значений? - PullRequest
0 голосов
/ 23 марта 2019

У меня есть следующий фрейм данных:

data={'automobile':['car','car','car','car','scooter','scooter','bike','bike','bike']}
df=pd.DataFrame(data)

encoder=ce.BinaryEncoder(cols=['automobile'])
df=encoder.fit_transform(df)

Это дает мне двоичные столбцы, которые ожидаются.Но при выполнении кластерного анализа, как я могу узнать, какое двоичное значение соответствует какой категории автомобиля.

1 Ответ

1 голос
/ 23 марта 2019

если вы хотите сохранить метку для «декодирования», я предлагаю вам использовать LabelEncoder :

import pandas as pd
from sklearn.preprocessing import LabelEncoder
data = {'automobile': ['car', 'car', 'car', 'car', 'scooter', 'scooter', 'bike', 'bike', 'bike']}
df = pd.DataFrame(data)

ler = LabelEncoder().fit(df['automobile'])
df['automobile']=ler.transform(df['automobile'])

dico = dict(zip(ler.classes_, ler.transform(ler.classes_)))

print(df)
print(dico)

вывод: df

   automobile
0           1
1           1
2           1
3           1
4           2
5           2
6           0
7           0
8           0

выход: дико

{'bike': 0, 'car': 1, 'scooter': 2}
...