热编码OneHotEcoder理解与应用
发布时间
阅读量:
阅读量
二进制编码法也被称为虚拟编码法(One-Hot Encoding),它是将定性变量转化为定量变量的一种常用方法,在机器学习领域具有重要应用价值。例如性别特征可划分为三个类别:男性、女性和其他类型。其基本实现原理在于通过矩阵形式表示各个分类状态的有无关系(如[1 2 3])。具体而言,在Python编程语言中,默认情况下会自动处理这些转换。
from sklearn.preprocessing import OneHotEncoder
clf = OneHotEncoder()
clf.fit([[0, 0, 3], [1, 1, 0], [0, 2, 1], [1, 0, 2]])
#一个4行3列的数组,即有4个样本,3个特征;
print(clf.n_values_)
#每个特征的取值个数(第一列共有2个取值,第二列有3个,第三列有4个)
#输出:array([2, 3, 4])
print(clf.feature_indices_)
#独热编码后每个特征开始和结束的下标;
#输出:array([0, 2, 5, 9])
print(clf.transform([[1, 2, 1]]).toarray())
#output:array([[ 0., 1., 0.,
全部评论 (0)
还没有任何评论哟~
