专栏首页人工智能LeadAI机器学习实战 | 数据探索(变量变换、生成)

机器学习实战 | 数据探索(变量变换、生成)

1.1、什么是变量变换?

在数据建模中,变换是指通过函数替换变量。 例如,通过平方/立方根或对数x替换变量x是一个变换。 换句话说,变换是一个改变变量与其他变量的分布或关系的过程。

1.2、什么时候需要变量变换?

当我们想要改变一个变量的比例(change the scale)或标准化(standardize)变量的值以便更好地理解。 如果数据具有不同的尺度,则此变换是必须的,但此变换不会更改变量分布的形状。对应处理方法:机器学习之特征工程-数据预处理(无量纲化)。

当我们将复杂的非线性关系转化为线性关系时。 与非线性关系相比,变量之间存在线性关系更容易理解。 转换有助于将非线性关系转换为线性关系。 散点图可用于查找两个连续变量之间的关系,这些变化也改善了预测,log是常用的转换技术之一。

Relation.png

对称分布优于倾斜分布,因为它更容易解释和产生推论。 一些模型需要正态分布变量, 所以,每当遇到倾斜分布,使用变量变换。 对于右倾斜分布,取变量的平方/立方根或对数,对于左倾斜分布,取变量的平方/立方或指数。

Transformation_1.png

从程序实现角度考虑变量转换。 例如在员工绩效项目中,发现年龄与员工绩效直接相关,即年龄越高,绩效越好。 从实现的角度来看,基于年龄的程序可能会面临实现挑战。 然而,将员工分为三个年龄阶段30岁,30-45岁和45岁以上,制定三种不同的策略是一种明智的做法。 这种分类技术被称为变量分组(Binning)。

1.3、变量变换的常用方法是什么?

变换变量有许多方法,如平方根,立方根,对数,合并,倒数等等。来看看这些方法的细节和利弊。

对数(log):变量求对数是用于在分布图上更改变量分布形状的常用变换方法。通常用于减少变量的右偏差,虽然,它也不能应用于零值或负值。

平方/立方根:变量的平方和立方根对改变变量的分布有效果。然而,它不如对数变换那么有效。立方根有自己的优势,可以应用于包括零和负值,平方根可以应用于包括零的正值。

分箱(Binning):用于对变量进行分类。以原始值,百分位数或频率进行分类,分类技术的决策是基于对于业务的理解。例如,可以将收入分为三类:高,中,低,也可以对多个变量执行分箱。

生成特征

生成特征是基于现有特征生成新特征的过程。 例如,将日期(dd-mm-yy)作为数据集中的输入特征,可以生成新特征,如日,月,年,周,工作日,可能与target有更好的关系。 此步骤用于突出显示变量中的隐藏关系。

Derived.png

2.1、生成特征的类别

生成派生变量

使用一组函数或不同方法从现有变量创建新变量。在“Titanic – Kaggle competition”中,年龄存在缺少值,为了预测缺失值,用姓名中称呼(Master,Mr,Miss,Mrs)作为新变量。如何决定要生成哪个变量?这取决于分析师对业务理解,以及他对这个问题的假设。诸如采用变量求对数,变量分组或其他变量变换方法也可用于生成新变量。

生成虚拟变量

虚拟变量最常用的应用之一是将分类变量转换成数字变量,虚拟变量也称为指标变量(Indicator Variables)。将分类变量作为统计模型中的预测因子是有用的,如:性别可以产生两个变量,即为1(Male)和0(No male)的“Var_Male”和值为1(Female)和0(No Female)的“Var_Female”。还可以为两类以上分类变量生成n或n-1个虚拟变量。

Dummy.png

2.2、生成特征的常用方法

生成日期,时间和地址差异的变量

可以通过考虑日期和时间的差异来创建新变量, 例如:与在30分钟内填写相同申请的人相比,需要几天填写申请表的申请人可能对产品的兴趣较少。 同样,对于银行来说,在线门户登录详细信息和客户登录之间的时间可能会显示客户使用在线门户网站的意愿。同样,靠近银行分行的客户比远离客户的参与度更高。

生成比例变量

生成变量之间的比例可能会增加很多价值。 经常使用的一些比例是:输入/输出(过去的表现),生产率,效率和百分比。 例如,为了预测分行的信用卡销售的未来表现,像信用卡销售/销售人员或信用卡销售/营销支出之类的比率将比销售的绝对数量更强大。

应用标准变换

通过查看变量和输出的变化和绘图,是否变量的基本变换创建了更好的关系。 最常用的变换包括Log,指数,二次和三次变化。 例如,与绝对营销支出相比,营销支出的对数可能与Sales有更具代表性的关系。

考虑影响因素的影响

影响因素可以是组织的雇员,组织的代理人或组织的客户。 引起这些相关实体的影响可以显著改善模型。 例如,由经纪人(而不是所有经纪人)发起的贷款在锁定期后,更有可能转移到不同的实体。 同样,一组涉及到销售人员的子公司,可能对其客户进行交叉销售。

考虑变量的季节性

很多企业面临着季节性的问题,可能是由税收优惠,节日季节或天气驱动的。 如果是这种情况,需要考虑季节性。 如何在建模时应对季节性影响的更多细节可以参考:Festive season special: Building models on seasonal data。

参考

5 Simple manipulations to extract maximum information out of your data

本文分享自微信公众号 - 人工智能LeadAI(atleadai),作者:苏小宝

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-11-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 机器学习实战 | 数据探索

    数据的输入质量决定了输出的最后结果,数据的探索、预处理、特征选择、降维等特征工程占了项目的70%的时间。那么如果我们确定了商业目的,该如何一步一步渐进式进行特征...

    用户1332428
  • 为什么算法容易忘记之插入排序

    在学习常用的排序算法时,常有这样的感觉,一看就懂,过眼就忘。原因在于没有将排序的基本思想与代码中各个循环控制变量的意义联系起来进行理解记忆。 插入排序 首先,我...

    用户1332428
  • 译文 | 与TensorFlow的第一次接触(一)

    本人对一直对高性能网络服务器,分布式存储比较感兴趣,在BAT时也一直从事架构开发,并没有做过机器学习相关工作,平时喜欢阅读分析开源代码,到目前为止已分析完约8套...

    用户1332428
  • Powershell中的变量

    在我们的迷你系列“Variables in Shells”中,了解如何在PowerShell中处理局部变量。

    QRosie
  • (21)Bash用户自定义变量

    变量是计算机内存的单元,其中存放的值可以改变。当Shell脚本需要保存一些信息时,如一个文件名或是一个数字,就把它放在一个变量中。每个变量有一个名字,所以很容易...

    生信real
  • 一文读懂R中的探索性数据分析

    探索性数据分析(EDA)是数据项目的第一步。我们将创建一个代码模板来实现这一功能。 简介 EDA由单变量(1个变量)和双变量(2个变量)分析组成。

    1480
  • VBA程序的变量和常量

    大家好,在本节就主要介绍变量和常量,主要掌握声明变量和变量赋值,变量的作用域和存活期需要理解。

    无言之月
  • C - 基础总结

    xx_Cc
  • 数据管理—reshape2包

    我就在这里等你关注,不离不弃 ——A·May R-50T-50 ? 「序 言 」 不知不觉,已经写了半百的R语言了,感觉等数据准备这个大阶段结束,有必要将数据理...

    企鹅号小编
  • 【临床研究】一个你无法逃避的问题:多元回归分析中的变量筛选

    临床模型研究,说到底是做一个模型,那么模型应该如何纳入自变量,纳入哪些自变量,这都是至关重要的问题。线性回归,逻辑回归和Cox比例风险回归模型是被广泛使用的多元...

    用户6317549

扫码关注云+社区

领取腾讯云代金券