且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

阿里云天池大赛赛题解析——机器学习篇-赛题一(5)

更新时间:2021-07-27 05:30:49

2.1.5 变量转换

1. 变量转换的目的

在使用直方图、核密度估计等工具对特征分布进行分析的过程中,我们可能会发现一些变量的取值分布不平均,这将会极大影响估计。为此,我们需要对变量的取值区间等进行转换,使其分布落在合理的区间内。

如图1-2-11 所示,经过对数变换减轻了数据大量聚集在左侧的情况,其分布也更加趋于正态分布,这有利于一些模型的拟合(如基于正态分布假设前提的模型)。

阿里云天池大赛赛题解析——机器学习篇-赛题一(5)

图1-2-11 变量转换

2. 变量转换的方法

变量转换的方法主要包括缩放比例或标准化、非线性关系转换成线性、使倾斜分布对称、变量分组等,如表1-2-6 所示。

表1-2-6

阿里云天池大赛赛题解析——机器学习篇-赛题一(5)

下面具体介绍几种常用的转换方法:

(1)对数变换:对变量取对数,可以更改变量的分布形状。其通常应用于向右倾斜的分布,缺点是不能用于含有零或负值的变量。

(2)取平方根或立方根:变量的平方根和立方根对其分布有波形的影响。取平方根可用于包括零的正值,取立方根可用于取值中有负值(包括零)的情况。

(3)变量分组:对变量进行分类,如可以基于原始值、百分比或频率等对变量分类。例如,我们可以将收入分为高、中、低三类。其可以应用于连续型数据,超高维逻辑回归就是采取这种方式产生one-hot 变量特征的。

2.1.6 新变量生成

1. 变量生成的目的

变量生成是基于现有变量生成新变量的过程。生成的新变量可能与目标变量有更好的相关性,有助于进行数据分析。

例如,对于表1-2-7 所示数据集中的输入变量Date(dd-mm-yy,日期),可以拆分生成新变量,如日、月、年、周、工作日,也可能会发现与目标变量相关性更强的新变量。

表1-2-7

阿里云天池大赛赛题解析——机器学习篇-赛题一(5)

2. 变量生成的方法

有两种生成新变量的方法:

(1)创建派生变量:指使用一组函数或不同方法从现有变量创建新变量。例如,在某个数据集中需要预测缺失的年龄值,为了预测缺失项的价值,我们可以提取名称中的称呼(Master,Mr,Miss,Mrs)作为新变量。

(2)创建哑变量:哑变量方法可将类别型变量转换为数值型变量。在表1-2-8 所示的例子中,创建的Var_Male(男性)和Var_Female(女性)这两个数值型变量,等效于类别型变量中的Gender(性别)。

表1-2-8

阿里云天池大赛赛题解析——机器学习篇-赛题一(5)