什么是分类变量
分类变量(categorical variable)
分类变量,用于表示类别或标签
类似于维度,描述性的变量,不是单纯的连续性数值
比如:性别(男女)、省份、城市、年龄段
分类变量可以分为:
-
有序分类变量
比如:初级、中级、高级,各分类中是有些程度上的差异的 -
无序分类变量
比如颜色、省份,各分类中无程度上的差异
分类变量的处理
在机器学习的很多算法中,是不能识别分类变量的,我们需要将这些变量进行转换
- 独热编码(One-Hot Encoding)
独热编码,又称一位有效码,一种稀疏向量,其中,一个元素为1,其余元素均设为0
比如:
性别:男、女,可以转换为[1,0]和[0,1],注意下,这里是两位的组合,也就是分类变量有N个元素(特征),那么独热编码也是要有N个元素的
在pandas中,进行独热编码很方便
- 虚拟编码(Dummy coding)
(刚刚正好学会一个词儿,dummy variable 哑变量)
独热编码的问题在于它允许 k 个自由度,而变量本身只需要 k-1。虚拟编码通过在表示中仅使用 k-1 特征来消除多余的自由度。
这里说明的问题,就是独热编码有些冗余,使用虚拟编码就可以解决,比如上面提高的性别,我们使用01表示男,使用10表示女,而在虚拟编码中, 可以直接使用1表示男,0表示女
再比如:

这红、黄、蓝三种颜色,其实使用2个变量就可以表示,10表示蓝色,01表示黄色,00就是红色了
下面这篇文章是我参考整理的,原文还介绍了很多其他内容和实例,我没有记录完整,
等后续有空再继续学习
网友评论