阅读《特征工程入门和实践》这本书

一、特征理解

首先分析得到的数据是结构化数据还是非结构化数据,通常我们分析的是结构化数据,即表格形式的;对于非结构化数据,需要对其进行清洗和组织。

得到结构化数据后,分析哪些是定量特征,哪些是定性特征。所谓定量特征,通常也称之为数值型特征,就是可以用数值衡量的,比如身高,体重,温度等;定性特征通常也称之为类别型特征,如性别,职级等。需要注意的是,并不是带有数字的就一定是定量特征,比如性别,可以表示为男:0,女:1,这并不代表他就是定量特征。分析好定量还是定性后,对特征进行简单处理,例如身高对应的数据可能是172cm,这需要将该特征中的“cm”都去掉。

对既有的定量和定性的特征可以继续进行划分,对不同等级的数据可以采用不同的操作:

  1. 定类等级:类别型的特征,如血型,性别等,可以对不同值进行计数,找众数等,但无法计算均值等统计信息。
  2. 定序等级:是类别型特征,但是包含顺序含义在里面,比如职级,评分1星,2星等,这种可以计算中位数,百分位数等。
  3. 定距等级:数值型特征,可以进行加减法,求均值,标准差,如考试分数,平均分之类的。
  4. 定比等级:数值型特征,可以进行乘除法,这里和定距等级的区别在于,这里的乘除是有意义的,比如分数的乘除,一个人的分数是另一个人分数的两倍貌似没啥意义。但是比如像工资,浓度等可能就有意义了。

二、特征增强

特征增强部分主要是对特征中缺失值的识别和处理,对特征进行归一化标准化以除去量纲的影响。

缺失值

实际问题中通常会遇到一些特征的值的缺失的,而这些缺失值可能对模型产生一定的影响,因此需要做出相应的处理。首先识别缺失值,最简单直白的就是看特征有没有为空的或者None,NULL的;其次是看有没有特别奇怪的,不符合常理的,比如身高特征列中有很多0,人不可能身高为0,因此这里可能是在前置工作中,已经被处理过的缺失值,开发人员将确实的身高默认填充为0,这种需要认为识别,观察数据是否存在一些特殊的值。

缺失值处理的最直接的方法就是删除含有缺失值的数据,这种简单暴利的方法通常无法达到很好的效果

  1. 一方面,一条数据有很多特征,只要存在缺失值就删除,那么可能会删除很多数据,导致可用于训练的数据很少,没有足够的数据进行训练,导致模型性能欠佳;
  2. 另一方面,这种方式无法用应对线上传来含有缺失值的数据进行预测的情况;

另一种方式是对缺失值进行填充,填充的方式有很多种

  1. 比如前文所述的用一个特殊值填充,如身高0cm;
  2. 对于定量类型的,也可以用统计量,整个训练集的均值,中位数进行填充,这种方法要  

用训练集的均值填充训练集和测试集的缺失值,方式数据泄露和穿越;

  1. 对于定性类型的,即类别型,可以采用出现最多次的进行填充,
  2. 或者用另一个模型结合已有数据进行预测得到;
  3. 用一些能处理缺失值的模型,比如神经网络,决策树,xgboost等这些模型本身对缺失值    是鲁棒的,可以较好的应对还有缺失值的数据;

说明:不同的方法适应不同的场景,比如缺失值较少的情况下,可能删除数据会比较划算;而对于缺失值较多时,采用填充或者用更鲁棒的模型更划算。对于以上没有注明定量还是定性的就都可以使用

标准化和归一化

标准化和归一化主要是用于消除量纲的影响,比如同一条数据中,由于单位/量纲的不同,有的数据可能很小(身高1.72m,这个值是1.72),而有的数值可能很大(体重63000g,这个值是63000)。有些模型是受量纲影响较大的,比如逻辑回归,因此通常需要进行归一化或标准化。

z-score标准化:这种方式对正太分布的数据比较友好;

min-max归一化:这种方式对均匀分布的数据比较友好,容易受异常值或离群值的影响;

均值归一化:优缺点和min-max类似。

行归一化:前面都是对特征列进行标准化或归一化,这里是对一条数据包含的特征行进行约束,使得每一行特征的L2范数都是1,可以理解为向量长度相同,都在同一个超球上。

实际使用时可以都试试

三、特征构建

对于定性类型的特征,即类别型的特征,我们需要对其进行编码,比如考试登记是优、良、及格和不及格,这个无法直接送入模型,因此需要进行编码。可以采用一些方法来构造新的特征,比如多项式特征,可以采用sklearn中的polynomial-features类通过两个特征a,b构造多项式特征[1, a, b, ab, a^2, b^2]。

四、特征选择

给定数据后,不是所有特征都是有用的特征,有些特征是冗余的甚至是有害的。进行特征选择,筛选去除冗余特征和噪声,得到一个更好的特征子集能有效提高模型的性能,并减少训练和预测时间。

  1. 对于类别型特征,使用卡方检验或树模型会比较不错;
  2. 对于定量特征,使用线性模型(L1,L2正则化)或相关性计算会比较好;
  3. 对于二元分类,会用模型选择和SVC会比较好;

4. 手动选择特征前,进行探索性数据分析,使用邻域知识。

五、特征转换与生成

这两块内容作者主要是介绍降维以对特征进行转换,以及如何生成新的特征。降维部分无外乎PCA,LDA,采用这些降维的方式可以过滤掉一些噪声,从而使得转换后的特征对模型更友好。

对于特征生成,书中介绍了受限玻尔兹曼机RBM以及伯努利受限玻尔兹曼机(可以直接调用sklearn的方法),RBM有点类似于自编码器autoencoder和GAN这类特征生成的方法。RBM是无监督的,由两层神经网络构成,先前向传播得到输出,然后以得到的输出作为输入“反向传播”,即从右往左还原输入,这里的反向传播和梯度反向传播是两种概念。书中还对文本特征的构建与生成方式(词向量)进行了简单介绍。

总结

看完之后给我的感觉是这本书比较适合入门,里面的内容相对简单,并且有代码讲解,适合新人入门。对于一些进阶的方法介绍较少,并且有些内容不是特别全面。要善于利用工具seaborn和matplotlib库进行可视化和相关性计算,根据不同的阶段,不同的类型采用上面不同的方式。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《特征工程入门实践pdf》是一本介绍特征工程的教程书籍,旨在帮助读者深入了解特征工程的概念、原理和实践方法。 特征工程是机器学习和数据分析领域中非常重要的一环,它涉及到特征选择、特征提取、特征创造和特征预处理等过程,对于提高模型的性能和准确度至关重要。 《特征工程入门实践pdf》首先介绍了特征工程的基本概念,讲解了特征的种类和特征表达的重要性。接着,书中详细介绍了常用的特征工程方法和技术,包括主成分分析(PCA)、线性判别分析(LDA)、特征选择方法(例如递归特征消除和互信息法)等。 此外,书中还提供了大量的实际案例和示例,帮助读者理解特征工程的实际运用。通过这些案例,读者可以学习如何进行数据预处理、特征选择和特征创造,以及如何将特征工程应用于不同的机器学习模型中。 总的来说,《特征工程入门实践pdf》是一本非常实用的教材,适合想要学习和实践特征工程的读者。通过阅读本书,读者可以全面了解特征工程的基本知识,掌握常用的特征工程方法,并能够将其应用于实际问题中,从而提高机器学习模型的性能和准确度。 ### 回答2: 《特征工程入门实践pdf》是一本介绍特征工程入门指南。特征工程是指通过数据预处理和特征选择等技术,从原始数据中提取有效的特征,以支持机器学习模型的训练和预测。 该书主要分为三个部分:特征设计、特征提取和特征选择。在特征设计部分,书中详细介绍了特征的定义、类型和重要性。读者可以学习如何根据问题的需求和数据的特点,设计合适的特征。 在特征提取部分,书中介绍了各种常用的特征提取方法,如数值型特征处理、文本特征处理和图像特征处理等。读者可以学习如何将原始数据转化为机器学习算法可以处理的特征表示。 在特征选择部分,书中详细介绍了常用的特征选择方法,如过滤式特征选择、包装式特征选择和嵌入式特征选择等。读者可以学习如何选择最具代表性和预测能力的特征子集,以减少特征空间的维度和计算复杂度。 此外,该书还提供了大量的实际案例和示例,帮助读者理解和应用特征工程技术。读者可以通过实践来巩固所学知识,并将其应用于自己的问题中。 总的来说,《特征工程入门实践pdf》通过系统地介绍特征工程的基本理论和实践方法,为读者提供了一本很好的入门指南。无论是初学者还是有一定基础的人员,都可以通过阅读该书来提升自己在特征工程方面的能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值