【发布时间】:2020-07-25 12:59:34
【问题描述】:
如何按照我的意愿将每个分类唯一值编码为数值?
HeatingQC:加热质量和条件
Ex Excellent
Gd Good
TA Average/Typical
Fa Fair
Po Poor
我尝试将此分类数据编码为数字。所以我使用了sklearn.processing.LabelEncoder。我期望的是给 Ex 分配一个更大的数字,给 Po 分配一个更少的数字。即 Ex = 4,Gd = 3,依此类推。
from sklearn.preprocessing import LabelEncoder
label_encoder = LabelEncoder()
encoded_data = label_encoder.fit_transform(data)
print(data)
print(encoded_data)
输出是
Id
1461 TA
1462 TA
1463 Gd
1464 Ex
1465 Ex
Name: HeatingQC, dtype: object
[2 2 1 0 0]
如何将 ex 编码为 4 并将 Po 编码为 0?
【问题讨论】:
-
LabelEncoder按字母顺序编码。您需要创建和使用自定义 endcoder。您真的想将每个唯一值硬编码为您想要的对应数字吗?
标签: python machine-learning scikit-learn categorical-data label-encoding