类别型特征的原始数据一般都是字符串形式,只有决策树等少数模型可以处理字符串的输入,对于传统的模型来说,类别型特征必须经过处理转成数值型特征。
处理方式有三种:
一、序号编码:用于处理类别间具有大小关系的数据。
二、独热编码:稀疏向量
三、二进制编码:第一步:给每个类别赋予ID,第二步:对ID进行二进制编码。优点:维数少,节省空间。
独热编码的python实现:
from sklearn.feature_extraction import DictVectorizer one hot_encoder = DictVectorizer()
x = [
{'city':'New York'},
{'city':'San Francisco'},
{'city':'Chapel Hill'}
]
onehot_encoder.fit_transform(X).toarray())