机器学习变量转换(定性变量、定量变量)

(81) 2024-07-04 09:01:01

为了更好地讨论问题,将模型的自变量分类。在模型里使用的变量可以分为两类:数值型变量和类别型变量。如图1所示。

机器学习变量转换(定性变量、定量变量) (https://mushiming.com/)  第1张

一、定义

数值型变量,在学术上被称为定量变量(quantitative variable),如长度、收入、重量等。它们的数值表示具体的测量或计数。事实上,定量变量按是否连续可进一步细分为连续型变量和离散型变量。在一定区间内可以任意取值的变量叫连续型变量,比如人的身高、体重等;反之则是离散型变量,比如公司员工人数等。

类别型变量,也被称为定性变量(categorical variable)。比如性别、省份、学历、产品等级等。这类变量的取值通常是用文字而非数字来表示。比如对于性别这个变量,可能的取值为男、女。因此要将文字变量转换为数字变量,并且保证对于转换之后的变量,数学运算是有意义的,这并不是一件容易的事情。通常针对一个类别型变量,我们会用一个数字去表示其中的一个类别,但这样的转换方法并不能满足要求:

  • 对于有序的类别型变量,比如产品等级,0表示合格、1表示良好、2表示优秀。这种情况下,0小于1的确对应着合格等级次于良好等级,但数字间的四则运算就没有对应意义了。数学上2减1等于1,但对于产品等级,优秀减去良好还等于良好吗?
  • 对于无序的类别型变量,比如对于省份,0表示北京、1表示上海、2表示深圳等。数字间的大小关系和四则运算都是没有实际意义的。

二、定性变量的处理

对于定性变量,常见的处理方法有两种:一种是将定性变量转换为多个虚拟变量(dummy variable),另一种对将有序的定性变量转换为定量变量。

正如前文中讨论的,直接对定性变量数字编码,得到的变量将无法进行有意义的数学运算。那么,相应的解决方法就是使得变换之后的变量不能直接做数学运算。

前面讨论的虚拟变量的方法是比较通用的处理方法。但这种方法有一个很明显的缺点:每个虚拟变量都是0或1,无法提供更多的信息。特别是对于多个有序的定性变量,这会损失掉每个定性变量本身的顺序信息和定性变量间的关联信息。为了解决这个问题,常常根据类别的顺序,将定性变量转换为定量变量。

 

本文参考了机器学习变量转换(定性变量、定量变量)

THE END

发表回复