泛统计理论初探——统计编码方法简介

统计学习-统计编码方法简介

机器学习常见的编码方法简介
在实际的问题中,经常会遇到自变量是分类变量的问题,比如血型、学历、职称级别、衣服型号等。在处理这些变量的时候,通常会对变量进行编码处理,使得原来的变量取值变成数学上的数字,比如0,1等数值,这样可以方便代入模型来进行实际预测和分析。在本文中,我们将介绍几种常见的编码方法,通过学习编码方法来加深机器学习中对分类变量处理的认识。
常见的结构型数据可以分为四种:定比数据、定距数据、定序数据、定类数据,在之前的文章已经提到过了,此处不再赘述。对于分类变量的处理,其实要分有顺序的分类变量和无顺序的分类变量,即定序数据和定类数据。下面通过案例来分别介绍。
首先是有顺序的分类变量,这种变量的处理我们通常进行顺序编码,即在编码后依旧保持了原有变量取值的顺序关系。比如学历可能划分为:中专以及中专以下、大专、本科、研究生、博士生等,在这个时候我们发现,这些学历其实有顺序的,所以这个时候我们使用序号编码进行处理,按顺序编码得到:中专以及中专以下编码为1,大专编码为2,本科编码为3,研究生编码为4,博士生编码为5。在编码后,原有的变量(学历)顺序没有被改变,编码后的值从1,2,3,4,5为递增的关系。其实前面提到的衣服型号编码也是可以进行顺序编码的,衣服型号通常有:S,M,L,XL,XXL等,对应的型号是小型、中型、大型、特大型、特特大型。按顺序编码,我们把S型编码为1、M型编码为2、L型编码为3、XL型编码为4、XXL型编码为5。在编码后,原有的变量(衣服型号)顺序也没有被改变,编码后的值从1,2,3,4,5为衣服型号递增的关系。
其次我们来看下无顺序的分类变量,这种变量的处理我们通常是有两种,哑变量编码(dummy)和独热编码(one-hot)。这两种编码形式都可以保留原有的变量信息,并且不会在编码后增加新的顺序关系等,较好地使得变量的类别信息保持不变。我们在此处拿高中的学科分班来举例,假设某地高考有理科、文科、体育、艺术这四种方向,那么高中的学科分班也会根据这个来分类,我们观察这四种方向是没有顺序关系的,所以使用哑变量或独热编码进行编码处理。具体的编码形式见下表。

学科分班 哑变量编码 独热编码
理科 0 0 0 1 0 0 0
文科 1 0 0 0 1 0 0
体育 0 1 0 0 0 1 0
艺术 0 0 1 0 0 0 1

根据上表我们发现,独热编码和哑变量都可以对无顺序的分类变量进行处理,但是哑变量编码比独热编码有细微的区别,即哑变量其中有一个变量的编码都是0,并且比独热编码要少1个维度的取值,只有3个维度即可反映原有的分类变量,而独热编码需要4个维度的取值。与此同时,独热编码是把某个变量的某个状态值为1,其他都是0。其实从实用角度来说,两种编码的形式都是比较好的,可以把无顺序的分类特征进行很好的处理并且不丢失变量信息。但是对于类别较多的问题,使用这两种编码都会使得自变量的数量大大增加,所以可以结合主成分分析方法或因子分析方法来进行降维。
总的来说,对于初学者来说,学习编码方法是有必要的,因为在实际比赛或是研究中,会遇到很多的分类变量,根据实际情况我们可以使用不同的编码方法,但是使用编码后不能使得原有变量的信息进行增加或是减少,否则编码会引起很大的问题。

发布了29 篇原创文章 · 获赞 30 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_26727101/article/details/104132554