机器学习中对变量的处理

机器学习-分类变量

有哪些分类变量

  • Nominal variables:没有顺序的分类变量
  • Ordinal variables:有顺序的分类变量。比如高、中、低
  • Binary variables:二分类
  • Cyclic variables:循环分类。例如周一到周日

如何处理分类变量

由于对计算机来说,它只能理解总共有多少类别,类别之间不同名称并没有什么区别,因此我们往往需要将类别转换成数字再后续操作。这种编码操作的常见操作有如下。

label encoding

创建一个字典将已有类别分别转换成0、1、2、3…这样的数字。在实际操作中还可以直接调用scikit-learn中的函数直接进行编码操作,不过调用函数之前需要先对数据中的NAN值进行处理,。

dense to sparse

由于许多模型并不支持十进制数的输入,所以将类别编码成数字之后还需要转换成二进制。这些数字编码往往是由矩阵的形式存储的,取值为0或1,为了节省空间,可以采用键值对的形式记录1的位置和值。

one hot encoding

将类别用一个向量表示,向量的长度等于类别总数N,向量中N-1个位置都为0,剩下一个为1,而1所在位置与向量表示的类别相对应。在实际操作中也可以条用scikit-learn中的函数直接进行独热编码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值