由于对计算机来说,它只能理解总共有多少类别,类别之间不同名称并没有什么区别,因此我们往往需要将类别转换成数字再后续操作。这种编码操作的常见操作有如下。
创建一个字典将已有类别分别转换成0、1、2、3…这样的数字。在实际操作中还可以直接调用scikit-learn中的函数直接进行编码操作,不过调用函数之前需要先对数据中的NAN值进行处理,。
由于许多模型并不支持十进制数的输入,所以将类别编码成数字之后还需要转换成二进制。这些数字编码往往是由矩阵的形式存储的,取值为0或1,为了节省空间,可以采用键值对的形式记录1的位置和值。
将类别用一个向量表示,向量的长度等于类别总数N,向量中N-1个位置都为0,剩下一个为1,而1所在位置与向量表示的类别相对应。在实际操作中也可以条用scikit-learn中的函数直接进行独热编码。
因篇幅问题不能全部显示,请点此查看更多更全内容