Advertisement

热编码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)

还没有任何评论哟~