均值编码-处理高基数类别属性的一个方法

转换类别属性量的一般方法

数据分析中经常会遇到类别属性,比如日期,性别,街区编号,IP地址等. 绝大部分数据分析算法是无法直接处理这类变量,需要先把他们处理成数值型量.

  1. 取消字符
    参考 sklearn.preprocessing.LabelEncoder. 加入一个属性有 N N 个不同的值,通过这个函数将把它转换到 [ 0 , N 1 ] 上的整数. 转换后的属性具有了次序和可比较性,这个两个属性源属性值未必具备,是利是弊视具体应用而定.

  2. 编码
    离散型数值对某些算法是可以进行训练的,比如决策树, 但是对于SVM/神经网络而言依然不合适,我们需要对其进行编码.

    • one-hot-encoding
      参考 sklearn.preprocessing.OneHotEncoder
      离散型属性有 N N 个不同的值,则可以用长度为 N 二进制序列 (b0,b1,b2,...,bN1) ( b 0 , b 1 , b 2 , . . . , b N − 1 ) 表示, bi b i 有且只有一个为 1 1 ,其他为 0 . 假设离散属性只有三个不同的值
      { A,B,C} { A , B , C }
    属性值 二进制序列
    A 001
    B 010
    C 100

    one-hot-encoding后会增加 N N

    • 均值编码
      如上所述, one-hot-encoding后会增加
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值