美文网首页
机器学习笔记——特征工程(1)

机器学习笔记——特征工程(1)

作者: BruceYeen | 来源:发表于2017-09-20 14:31 被阅读215次

  在机器学习领域有这样一种说法——“特征处理决定了模型效果的上限,而算法则决定了模型能够在多大程度上接近这个上限”。从应用角度来说,纵观整个建模流程,数据预处理、特征工程占据80%以上时间,而模型建立和评估仅仅20%的时间。现在,我们就来看看特征工程的一些基本操作方法。

一、相关性检验

  相关性检验主要用于检验变量之间两两的相关性,可以求自变量和因变量之间的相关性,也可以求自变量和自变量之间的相关性。自变量和因变量之间相关系数的大小能一定程度上反映变量的重要程度。自变量之间相关系数较大的话,需要考虑共线性的问题,共线性会导致模型出现开式解,降低模型的稳定性。
  常见方法有皮尔森相关系数和斯皮尔曼相关系数。两个系数都是介于-1和1之间,-1表示完全负相关,1表示完全正相关,0表示完全不相关。
  使用皮尔森相关系数有局限:要求数据是成对的从正态分布中取得的。而斯皮尔曼相关系数是一种秩相关系数,不受数据分布的影响,它通过对变量排序,以排序后两个变量的秩次差来计算相关系数。详情可参见文章相关性检验--Spearman秩相关系数和皮尔森相关系数

二、离散化

  变量离散化最重要的目的是为了降低过拟合的风险,因为粒度越小越容易出现过拟合。离散化可以提高模型运算速度,除此之外,还可以引入非线性特性。
  举一个例子,如果有一个变量是年龄,我们知道大多数人的年龄均在0-100岁之间,那么如果有一个人的年龄是200岁,这是一个很明显的离群值。那么我们除了可以按照异常值的盖帽处理之外,还可以对年龄进行分段处理,比如可以把所有年龄分为四段0-10,10-30,30-50,50以上,这样一来,200就归到50以上那个分段里面了。
  变量离散化主要有卡方检验法和信息增益法:

一、 卡方检验方法
1.1 分裂方法
1.2 合并方法
分裂方法,就是找到一个分裂点看,左右2个区间,在目标值上分布是否有显著差异,有显著差异就分裂,否则就忽略。这个点可以每次找差异最大的点。合并类似,先划分如果很小单元区间,按顺序合并在目标值上分布不显著的相邻区间,直到收敛。
二、信息增益方法
2.1 分裂方法
2.2 合并方法
这个和决策树的学习很类似。分裂方法,就是找到一个分裂点看,左右2个区间,看分裂前后信息增益变化阈值,如果差值超过阈值(正值,分列前-分裂后信息熵),则分裂。每次找差值最大的点做分裂点,直到收敛。合并类似,先划分如果很小单元区间,按顺序合并信息增益小于阈值的相邻区间,直到收敛。

  以上内容引用自连续特征进行离散化的方法介绍与应用例子

三、哑变量

  在讲哑变量之前,我们首先要知道常见变量的类型,大的方面来分,可以分为连续型和离散型,而离散型又可以分为分类变量(如职业)和有序变量(如学位)。这些离散型变量一般是字符型的,但计算机只能识别数值型变量,因此需要给这些变量做哑变量变换。
  具体怎么做呢?最简单的如性别,无非是男或者女,我们就可以用一个哑变量“是否男性”(男:1,女:0)来表示,再比如已知一群人属于一线城市(北上广深)的某一个,则可以构建一组哑变量——是否北京(是:1,否:0),是否上海(是:1,否:0),是否广州(是:1,否:0),那么北京人对应1/0/0,上海人对应0/1/0,广州人对应0/0/1,深圳人则是0/0/0。
  所以对于N分类来说,构建的哑变量应该有N-1个。

四、L1/L2正则化

  正则化主要是为了降低过拟合的风险,提高模型的泛化能力。

在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合)。其直观的表现如下图所示,随着训练过程的进行,模型复杂度增加,在training data上的error渐渐减小,但是在验证集上的error却反而渐渐增大——因为训练出来的网络过拟合了训练集,对训练集外的数据却不work。


过拟合.png

  如果使用Python做逻辑回归建模,scikit-learn中LogisticRegression和LogisticRegressionCV默认就带了正则化项。penalty参数可选择的值为"l1"和"l2"。分别对应L1的正则化和L2的正则化,默认是L2的正则化。
  L1/L2正则化具体的数学模型参见正则化方法:L1和L2 regularization、数据集扩增、dropout 机器学习之正则化(Regularization)

先写到这,如有错误,请指正。

相关文章

  • 机器学习笔记——特征工程(1)

      在机器学习领域有这样一种说法——“特征处理决定了模型效果的上限,而算法则决定了模型能够在多大程度上接近这个上限...

  • 【精通特征工程】学习笔记(一)

    【精通特征工程】学习笔记Day1&1.26&D1-2章&P1-32页 1、机器学习流程&基本概念 数据--任务--...

  • 机器学习笔记---特征工程

    转 机器学习中的数据清洗与特征处理综述 摘要 本文转自美团技术团队(见转载链接),非常优秀的博文,该文通过一个实例...

  • 机器学习1(特征工程)

    机器学习概述 机器学习是从数据中自动分析获得规律(模型),并利用规律对未知数据进行预测。 数据集的组成 机器学习的...

  • 2019-02-27

    内容为西瓜书的第10章特征选择和第11章特征降维。 1 在机器学习工程中,特征工程才是最重要,特征决定着算法的上限...

  • 机器学习—特征工程

    详细pdf:链接:https://pan.baidu.com/s/1pUWhb_y7kK7_fU0Gjqfe0Q ...

  • 机器学习-特征工程

    outline 概念 预处理 特征选择 降维 概念 数据集由数据对象组成,一个数据对象代表一个实体属性(attri...

  • 机器学习 - 特征工程

    大部分上传的截图都挂了,大家见谅吧,也不影响学习的 什么是特征工程 书接上文,前文我们看到鸢尾花数据集张什么样子:...

  • 机器学习 - 特征工程

    数据处理 缺失值处理行数据缺失过多,用户区分度就会降低,列数据缺失过多会导致建模存在偏差fillna:填充缺失值;...

  • 机器学习之特征工程 - 整理

    以下内容整理自机器学习之特征工程 特征工程: 定义:利用数据领域的相关知识来创建能够使机器学习算法达到最佳性能的特...

网友评论

      本文标题:机器学习笔记——特征工程(1)

      本文链接:https://www.haomeiwen.com/subject/ccbnsxtx.html