04_特征工程

1.Feature Scaling

对数据的自变量或特征范围进行标准化的一种方法。在数据处理中,它也称为数据规范化,通常在数据预处理步骤中执行。

为什么要进行Feature Scaling:

  • 如果输入范围变化,在某些算法中,对象函数将不能正常工作。
  • 梯度下降收敛得更快,与特征缩放完成。梯度下降法是逻辑回归、支持向量机、神经网络等常用的优化算法。
  • 涉及距离计算的算法如KNN、聚类算法也受特征量的影响。只要考虑欧几里德距离是如何计算的:取观测值之间差异平方和的平方根。变量之间的尺度差异会对这个距离产生很大的影响。
  • 基于树的算法几乎是唯一不受输入大小影响的算法,我们可以很容易地从树的构建方式中看到这一点。当决定如何分割时,树算法会查找“特征值是否为X>3.0”这样的决策,并计算分割后子节点的纯度,因此不考虑特征的规模。

如何进行Feature Scaling:

  • 如果你的特征不是高斯分布,比如,有偏态分布或者有异常值,归一化标准化不是一个好的选择,因为它会将大多数数据压缩到一个很窄的范围内。然而,我们可以将特征转换成高斯like,然后使用归一化-标准化。特征变换将在3.4节中讨论
  • 在进行距离或协方差计算(如聚类、PCA和LDA等算法)时,最好使用Normalization - Standardization ,因为它可以消除尺度对方差和协方差的影响。
  • Min-Max scale与规范化-标准化具有相同的缺点,并且新数据可能不会被限制到[0,1],因为它们可能超出原始范围。一些算法,例如一些深度学习网络更喜欢0-1范围的输入所以这是一个很好的选择

2.Discretize

离散化是通过创建一组跨越变量值范围的连续区间将连续变量转换为离散变量的过程。

为什么要离散化:

  • 通过将具有相似预测能力的相似属性分组来帮助改进模型性能
  • 引入非线性,从而提高模型的拟合能力
  • 使用分组值增强可解释性
  • 尽量减少极值/极少值的影响
  • 防止数值变量可能的过拟合
  • 允许连续变量之间的特征交互

如何离散化:

一般来说,没有最佳的离散化方法。它真的取决于数据集和下面的学习算法。在做决定之前,仔细研究你的特征和背景。您还可以尝试不同的方法并比较模型性能

3.Feature Enconding

我们必须将分类变量的字符串转换成数字,这样算法才能处理这些值。即使您看到一个算法可以接受分类输入,该算法也很可能包含编码过程。

4.Feature Transformation

为什么要进行feature transformation:

  • 当用linear regression时数据应符合线性回归条件
  • 有时会假设数据符合正态分布,当数据不符合正态分布时结果不行。为什么模型可以从“高斯分布”中受益?在正态分布的变量中,可以用来预测Y的X的观测值在更大的范围内变化,即X的值为“散布”在更大的范围内。在上述情况下,对原变量进行变换可以使变量更接近于钟形的高斯分布。

如何进行feature transformation:

5.Feature Generation

将现有特征组合起来创建新特征。这是向数据集添加领域知识的好方法

例如:

  • 我们可以为丢失数据添加binary feature(0/1)来说明数据是否缺失
  • 通过统计添加统计特征:以通话记录为例,我们可以创建如下新功能:通话次数、呼入/呼出次数、平均通话时长、每月平均通话时长、最大通话时长等。
    • count/sum
    • average/median/mode
    • max/min/stddev/variance/range/IQR/coefficient of Variation
    • time span/ interval
  • feature crossing: 将derived feature互相交叉,用于交叉的常见维度包括:时间,区域,业务类型。还是以通话记录为例,我们可以交叉使用以下功能:夜间/白天的通话次数、不同业务类型(银行/出租车服务/旅行/医院)下的通话次数、过去3个月的通话次数等。第3.5.2节中提到的许多统计计算可以再次用于创建更多的特性
  • ratios and proportions:例如,为了预测一个分支机构信用卡销售的未来表现,像信用卡销售/销售人员或信用卡销售/营销支出这样的比率比仅仅使用分支机构所销售的信用卡的绝对数量更有效。
  • cross Products between categorical features:考虑一个分类特征a,它有两个可能的值{A1, A2}。设B为可能性为{B1的特征,B2}。然后,a和B之间的特征交叉会取以下值之一:{(A1, B1), (A1, B2), (A2, B1),(A2, B2)}。你基本上可以给这些“组合”起任何你喜欢的名字。只需记住,每个组合表示a和B的相应值所包含的信息之间的协同作用。这是一个非常有用的技术,当某些特征一起表示一个属性时比单独表示它们更好。从数学上讲,你是在做分类特征所有可能值的叉乘。这一概念与3.5.3节中的特征交叉相似,但这一概念特别指的是两个范畴特征之间的交叉
  • Polynomial Expansion:积也适用于数值特性,导致一个新的交互功能a和b之间可以很容易地sklearn PolynomialFeatures,生成一个新的特性集组成的所有多项式组合特性的程度小于或等于指定的程度。例如,三个原始特征{X1, X2, X3}可以生成{1,X1X2, X1X3, X2X3,X1X2X3},度为2
  • Feature Learning by Trees:在基于树的算法中,每个样本将被分配到一个特定的叶节点。每个节点的决策路径可以看作是一个新的非线性特征,我们可以创建N个新的二进制特征,其中N等于树或树总体中的叶节点总数。然后可以将这些特征输入其他算法,如逻辑回归。本文首先介绍了Facebook使用树算法生成新特征的思想。这种方法的优点是我们可以得到几个特征的复杂组合,这是有信息性的(由树的学习算法构造)。与手工交叉相比,节省了大量的时间,在网络广告行业的点击率中得到了广泛的应用。
  • Feature Learning by Deep Networks:这些特征的可解释性有限,深度学习需要更多的数据才能提取出高质量的结果。

原文地址:https://www.cnblogs.com/ziwh666/p/12326114.html

时间: 2024-11-09 13:34:55

04_特征工程的相关文章

特征工程(Feature Enginnering)学习记要

最近学习特征工程(Feature Enginnering)的相关技术,主要包含两块:特征选取(Feature Selection)和特征抓取(Feature Extraction).这里记录一些要点,作为备忘. 特征选取 R中的FSelector包实现了一些特征选取的算法,主要分两大类: Algorithms for filtering attributes: cfs, chi.squared, information.gain, gain.ratio, symmetrical.uncertai

机器学习 特征工程之特征选择

概念 首先看一下维基百科中关于特征选择的介绍: 在机器学习和统计学中,特征选择 也被称为变量选择.属性选择 或变量子集选择 .它是指:为了构建模型而选择相关特征(即属性.指标)子集的过程. 在机器学习中,每个特征对于目标类别的影响并不相同,所以需要从特征集中挑选出一组最具统计意义的特征子集,把其他无用数据删掉,达到降维的目的. 特征选择的目标是寻找最优特征子集.特征选择能剔除不相关(irrelevant)或冗余(redundant )的特征,从而达到减少特征个数,提高模型精确度,减少运行时间的目

机器学习:特征工程

特征选择直接影响模型灵活性.性能及是否简洁. 好特征的灵活性在于它允许你选择不复杂的模型,同时运行速度也更快,也更容易理解和维护. 特征选择 四个过程:产生过程,评价函数,停止准则,验证过程. 目的:过滤特征集合中不重要特征,挑选一组最具统计意义的特征子集,从而达到降维的效果. 选择标准:特征项和类别项之间的相关性(特征重要性). - - -搜索特征子空间的产生过程- - - 搜索的算法分为完全搜索(Complete),启发式搜索(Heuristic), 随机搜索(Random) 3大类. 完全

最近看到的“特征工程”相关文章,特汇总在一起方便浏览~

最近看到的“特征工程”相关文章,特汇总在一起方便浏览~ 对于搞数据的和玩深度学习的特征工程是不可少的一环,尤其是特征选择,好的特征选择能够提升模型的性能,更能帮助我们理解数据的特点.底层结构,这对进一步改善模型.算法都有着重要作用. 这里先上一篇总括<特征工程技术与方法> 这篇文章详细梳理了特征工程所包含的内容,对机器学习中的特征.特征的重要性.特征提取与选择.特征的构建.学习等子类问题也给与了总结,总之看过这篇文章之后对特征工程就能有一个总体的认识.(这张图总结的太好了,一目了然,贴出来!)

特征工程(转载)

最近想拿一个DateCastle比赛上的关于预测客户人品的项目实际操作下我的sas,拿到数据后发现,最急需解决的问题是特征工程的问题,有1300多个维度的特征,自己想到的思路是由于这些特征是什么,都没有中文的说明,所以无法根据业务经验进行特征筛选,所以需要先通过相关性分析,然后再考虑PCA等方法,正巧看到一篇关于特征工程的详细解说文章~在这就分享给大家啦~ http://machinelearningmastery.com/discover-feature-engineering-how-to-

互联网广告综述之点击率特征工程

互联网广告综述之点击率特征工程 声明: 1)该博文是整理自网上很大牛和专家所无私奉献的资料的.具体引用的资料请看参考文献.具体的版本声明也参考原文献 2)本文仅供学术交流,非商用.所以每一部分具体的参考资料并没有详细对应,更有些部分本来就是直接从其他博客复制过来的.如果某部分不小心侵犯了大家的利益,还望海涵,并联系老衲删除或修改,直到相关人士满意为止. 3)本人才疏学浅,整理总结的时候难免出错,还望各位前辈不吝指正,谢谢. 4)阅读本文需要机器学习.统计学习理论.优化算法等等基础(如果没有也没关

大数据:“人工特征工程+线性模型”的尽头

大数据:“人工特征工程+线性模型”的尽头 作者:李沐 来源:http://qing.blog.sina.com.cn/1953709481/74733da9330036o7.html 11年的时候我加入百度,在凤巢使用机器学习来做广告点击预测.当时非常惊讶于过去两年内训练数据如此疯狂的增长.大家都在热情的谈特征,每次新特征的加入都能立即得到AUC的提升和收入的增长.大家坚信特征才是王道,相信还会有源源不断的特征加入,数据规模还会成倍的增长.我也深受感染,坚定的相信未来两年数据至少还会长十倍,因此

【特征工程】特征选择与特征学习

http://www.jianshu.com/p/ab697790090f 特征选择与特征学习 在机器学习的具体实践任务中,选择一组具有代表性的特征用于构建模型是非常重要的问题.特征选择通常选择与类别相关性强.且特征彼此间相关性弱的特征子集,具体特征选择算法通过定义合适的子集评价函数来体现.在现实世界中,数据通常是复杂冗余,富有变化的,有必要从原始数据发现有用的特性.人工选取出来的特征依赖人力和专业知识,不利于推广.于是我们需要通过机器来学习和抽取特征,促进特征工程的工作更加快速.有效. 特征选

使用Python做单机特征工程

目录 1 特征工程是什么?2 数据预处理 2.1 无量纲化 2.1.1 标准化 2.1.2 区间缩放法 2.1.3 无量纲化与正则化的区别 2.2 对定量特征二值化 2.3 对定性特征哑编码 2.4 缺失值计算 2.5 数据变换 2.6 回顾3 特征选择 3.1 Filter 3.1.1 方差选择法 3.1.2 相关系数法 3.1.3 卡方检验 3.1.4 互信息法 3.2 Wrapper 3.2.1 递归特征消除法 3.3 Embedded 3.3.1 基于惩罚项的特征选择法 3.3.2 基于