python - 使用二进制编码:如何从编码值中取回原始值?
问题描述
我有以下数据框:
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)
这给了我预期的二进制列。但是在执行聚类分析时,我如何才能知道哪个二进制值对应于哪个汽车类别。
解决方案
如果您想保留 Label 进行“解码”,我建议您使用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}
推荐阅读
- oracle-adf - 如何使用 valuechangelistner 从只读字段获取数据到新的输入文本字段?
- .net - 在 .NET 4.5.1 上启用 TLS 1.2
- angular - 角度可观察的不起作用
- perl - 如何使用perl杀死具有多个fork的进程
- c++ - 在新的 MPI_Isend 之前使用 MPI_Wait
- java - 打印语句替换用户输入
- google-maps - Infowindow 仅适用于 1 条路线,不适用于谷歌地图中的其他 3 条路线
- php - 用于重定向页面的 PHP 会话变量
- c# - ASP.NET 核心标识种子只创建最后一个用户
- node.js - NGINX 随机停止工作,需要手动重启