美文网首页
one-hot encoding

one-hot encoding

作者: 专注吃喝五十年 | 来源:发表于2018-06-24 15:57 被阅读0次

        one-hot encoding与哑变量均用于将定性特征转为定量特征。注:无序列要求的定量,若有序,考虑用map。

        one-hot encoding与哑变量的区别在于one-hot比哑变量的特征位多一位,即哑变量是精简版的one-hot,即在线性回归中用截距项来表示最后一维,但由于最初很难分辨特征的主次关系,且机器学习中多数情况为非线性回归,所以哑变量不太适用(蒙的,有待考证,回头纠正)。

    one-hot使用不同寄存器位表征不同的编码,如0,1,2,需要至少三位寄存器,编码为100,010,001,编码方式简单粗暴。

    网上对于one-hot举例通常使用

    起初看到这个结论的时候我是拒绝的,以我一米二的智商高度,没太明白这个答案是怎么整出来的

    后来想想发现one-hot的编码方式是和fit的特征矩阵有关,即想得出[0,1,3]的结果,需要将0放入第一维中去取其编码,1放入第二维,类推

    过程如下:

    one-hot encoding

    如果求[0,1,4]则会报错,因为整个特征矩阵中没有4这个特征值。

    若将数据改为

    可以看出最后一个2取的是000,不是编码值,但不会报错。

    注:sklearn下的OneHotEncoder不会将object类型转数值进行处理,而pandas的get_dummies会先将object类型转数值型,但get_dummies转完后是uint8型,如若下步进行运算可能会导致溢出,需先转为浮点型。

    相关文章

      网友评论

          本文标题:one-hot encoding

          本文链接:https://www.haomeiwen.com/subject/ljxsyftx.html