- 《机器学习实战-数据探索(1、变量识别;2、单变量分析;3、双变量分析)》
- 机器学习实战-数据探索(缺失值处理)
-
机器学习实战-数据探索(异常值处理)
上面三篇文章介绍了数据探索的前五步,机器学习更多内容可以关注github项目:machine learning
1 变量变换
1.1 什么是变量变换?
在数据建模中,变换是指通过函数替换变量。 例如,通过平方/立方根或对数x替换变量x是一个变换。 换句话说,变换是一个改变变量与其他变量的分布或关系的过程。
1.2 什么时候需要变量变换?
-
当我们想要改变一个变量的比例(
change the scale
)或标准化(standardize
)变量的值以便更好地理解。 如果数据具有不同的尺度,则此变换是必须的,但此变换不会更改变量分布的形状。对应处理方法:机器学习之特征工程-数据预处理(无量纲化)。 -
当我们将复杂的非线性关系转化为线性关系时。 与非线性关系相比,变量之间存在线性关系更容易理解。 转换有助于将非线性关系转换为线性关系。 散点图可用于查找两个连续变量之间的关系,这些变化也改善了预测,log是常用的转换技术之一。
Relation.png
-
对称分布优于倾斜分布,因为它更容易解释和产生推论。 一些模型需要正态分布变量, 所以,每当遇到倾斜分布,使用变量变换。 对于右倾斜分布,取变量的平方/立方根或对数,对于左倾斜分布,取变量的平方/立方或指数。
- 从程序实现角度考虑变量转换。 例如在员工绩效项目中,发现年龄与员工绩效直接相关,即年龄越高,绩效越好。 从实现的角度来看,基于年龄的程序可能会面临实现挑战。 然而,将员工分为三个年龄阶段30岁,30-45岁和45岁以上,制定三种不同的策略是一种明智的做法。 这种分类技术被称为变量分组(Binning)。
1.3 变量变换的常用方法是什么?
变换变量有许多方法,如平方根,立方根,对数,合并,倒数等等。来看看这些方法的细节和利弊。
- 对数(log):变量求对数是用于在分布图上更改变量分布形状的常用变换方法。通常用于减少变量的右偏差,虽然,它也不能应用于零值或负值。
- 平方/立方根:变量的平方和立方根对改变变量的分布有效果。然而,它不如对数变换那么有效。立方根有自己的优势,可以应用于包括零和负值,平方根可以应用于包括零的正值。
- 分箱(Binning):用于对变量进行分类。以原始值,百分位数或频率进行分类,分类技术的决策是基于对于业务的理解。例如,可以将收入分为三类:高,中,低,也可以对多个变量执行分箱。
2 生成特征
生成特征是基于现有特征生成新特征的过程。 例如,将日期(dd-mm-yy)作为数据集中的输入特征,可以生成新特征,如日,月,年,周,工作日,可能与target有更好的关系。 此步骤用于突出显示变量中的隐藏关系。
Derived.png2.1 生成特征的类别
- 生成派生变量(derived variables)
使用一组函数或不同方法从现有变量创建新变量。在“Titanic – Kaggle competition”中,年龄存在缺少值,为了预测缺失值,用姓名中称呼(Master,Mr,Miss,Mrs)作为新变量。如何决定要生成哪个变量?这取决于分析师对业务理解,以及他对这个问题的假设。诸如采用变量求对数,变量分组或其他变量变换方法也可用于生成新变量。 - 生成虚拟变量(dummy variables)
虚拟变量最常用的应用之一是将分类变量转换成数字变量,虚拟变量也称为指标变量(Indicator Variables)。将分类变量作为统计模型中的预测因子是有用的,如:性别可以产生两个变量,即为1(Male)和0(No male)的“Var_Male”和值为1(Female)和0(No Female)的“Var_Female”。还可以为两类以上分类变量生成n或n-1个虚拟变量。
2.2 生成特征的常用方法
- 生成日期,时间和地址差异的变量
可以通过考虑日期和时间的差异来创建新变量, 例如:与在30分钟内填写相同申请的人相比,需要几天填写申请表的申请人可能对产品的兴趣较少。 同样,对于银行来说,在线门户登录详细信息和客户登录之间的时间可能会显示客户使用在线门户网站的意愿。同样,靠近银行分行的客户比远离客户的参与度更高。 - 生成比例变量
生成变量之间的比例可能会增加很多价值。 经常使用的一些比例是:输入/输出(过去的表现),生产率,效率和百分比。 例如,为了预测分行的信用卡销售的未来表现,像信用卡销售/销售人员或信用卡销售/营销支出之类的比率将比销售的绝对数量更强大。 - 应用标准变换
通过查看变量和输出的变化和绘图,是否变量的基本变换创建了更好的关系。 最常用的变换包括Log,指数,二次和三次变化。 例如,与绝对营销支出相比,营销支出的对数可能与Sales有更具代表性的关系。 - 考虑影响因素的影响
影响因素可以是组织的雇员,组织的代理人或组织的客户。 引起这些相关实体的影响可以显著改善模型。 例如,由经纪人(而不是所有经纪人)发起的贷款在锁定期后,更有可能转移到不同的实体。 同样,一组涉及到销售人员的子公司,可能对其客户进行交叉销售。 - 考虑变量的季节性
很多企业面临着季节性的问题,可能是由税收优惠,节日季节或天气驱动的。 如果是这种情况,需要考虑季节性。 如何在建模时应对季节性影响的更多细节可以参考:Festive season special: Building models on seasonal data。
参考
5 Simple manipulations to extract maximum information out of your data
网友评论