本文主要是介绍ont-hot (独热)编码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
定义:One-Hot Encoding即 One-Hot 编码,也称独热编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候,其中只有一位有效。
作用:由于分类器往往默认数据数据是连续的,并且是有序的,但是在很多机器学习任务中,存在很多离散(分类)特征,因而将特征值转化成数字时,往往也是不连续的, One-Hot 编码解决了这个问题。
举个例子:
假设有3个特征分别是
feature1=[use iphone,use huawei,use oppo];
feature2=[man,woman];
feature3=[from China,from US,from England,from Brazil]
分别对每个特征进行0-n的记数,例如feature1就是[0,1,2];feature2就是[0,1];feature3=[0,1,2,3]
[use iphone,man,from US]即是[0,0,1]
Qustion: 对[use iphone,man,from US]进行独热编码
选择特征数目最多的为准,如选择feature3编码为[0001,0010,0100,1000] 其中的1可以看成是特征位数,例如from China在第一位,所以为0001;
0000为激活特征
然后将特征串联成一串
最后编码为[0001,0000,0000,0001,0000,0000,0010,0000,0000]
简写为[1.,0.,0.,1.,0.,0.,1.,0.,0.]
以上是本人的理解,如有问题请大神们指出,免得本人一错到底,本人不甚感激
这篇关于ont-hot (独热)编码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!