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

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)

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云飞学编程

一个关于红包的问题引发的python算法初体验

有个初学python的小伙伴,在群里问我关于实现抢红包的算法的问题,于是就有了以下对话

2081
来自专栏AI研习社

从聚合-转移框架浅谈卷积神经网络的架构设计

本次Paper Reading我们并没有关注某些特定的paper,而是用一个视角对现有的代表性的卷积神经网络设计进行总结。

1232
来自专栏大数据文摘

揭秘自编码器,一种捕捉数据最重要特征的神经网络(视频+代码)

1707
来自专栏机器学习算法与Python学习

n-gram文法中数据稀疏问题解决方案之一:Good-Turing平滑

关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第二 【Python】:排名第三 【算法】:排名第四 统计语言模型中,N元语法模型不可避免...

3574
来自专栏AI科技评论

ACL论文 | 深度学习大神新作,神经网络的自然语言翻译应用

在 8月7日在德国柏林召开的2016 计算语言学(ACL)大会上,学者Thang Luong、Kyunghyun Cho 和 Christopher D. Ma...

3615
来自专栏深度学习自然语言处理

【干货】基于注意力机制的seq2seq网络

seq2seq seq2seq的用途有很多,比如机器翻译,写诗,作曲,看图写文字等等用途很广泛!该模型最早在2014年被Cho和Sutskever先后提出,前者...

4256
来自专栏灯塔大数据

每周学点大数据 | No.16平面图直径

No.16期 平面图直径 小可:好的,关于图的基本内容我听懂了。 Mr. 王:很好,图能够对很多现实问题进行数学抽象,方便通过计算机的手段进行抽象。而平面图指...

3244
来自专栏AI研习社

神经机器翻译的编码 - 解码架构有了新进展, 具体要怎么配置?

用于循环神经网络的编码 - 解码架构,在标准机器翻译基准上取得了最新的成果,并被用于工业翻译服务的核心。 该模型很简单,但是考虑到训练所需的大量数据,以及调整模...

2684
来自专栏Python小屋

计算Fibonacci数列第n项的第8种方法(数学推导与Python实现)

感谢山东工商学院学院厉玉蓉老师提供的完美数学推导,我在重写和整理时略加修改,比如变量替换时她喜欢用字母z,而我喜欢用x,哈哈。当然,还有另外几个小地方^_^ 本...

3085
来自专栏深度学习自然语言处理

pyTorch基础入门练习

import导入 import torch#基本的torch函数 import torch.autograd as autograd#自动求导 import t...

38510

扫码关注云+社区