数据分析时,进行数据建模该如何筛选关键特征?

2023-11-07

1.为什么要做关键特征筛选?
在数据量与日俱增的时代,我们收集到的数据越来越多,能运用到数据分析挖掘的数据也逐渐丰富起来,但同时,我们也面临着如何从庞大的数据中筛选出与我们业务息息相关的数据。(大背景)从数据中挖掘潜在的规律,辅助我们在实际业务中进行决策。
在现实任务中经常会遇到维数灾难问题,属性过多造成的。可以降低学习任务的难度,不相关的特征就是噪声。它有助于减少数据集的大小和复杂性,反过来使我们可以用更少的时间来训练模型,更少的计算成本来训练机器学习模型和进行推理;具有较少特征的简单机器学习模型更容易理解和解释;它可以避免过拟合。因为特征越多,模型就越复杂,这就带来了维数的麻烦 (错误会随着特征数量的增加而增加) 。
特征选择目的:1)减少特征数量、降维,使模型泛化能力更强,加速模型训练,减少过拟合;2)增强对特征和特征值之间的理解。
2.做关键特征筛选的常见问题有哪些?
问题在于,1)在面对未知领域的时候,很难有足够的知识去判断特征与我们的目标是不是相关,特征与特征之间是不是相关。这时候,就需要一些数学和工程上的办法来帮助我们尽可能地把恰好需要的特征选择出来。2)特征与特征之间往往不是独立的,因此特征选择往往把要选择的特征当作一个子集进行搜索(单独特征最优组合)。3)样本与样本之间往往存在特征分布的重叠。(基于类内类间的特征选择方法不能反映样本分布重叠的情况)。
3.做数据筛选的3类方法
选择哪种特征选择方法?为自己打造一个投票选择器
实现我们讨论过的几种特征选择方法。您的选择可能取决于时间、计算资源和数据度量级别等因素。只要运行尽可能多的不同方法就可以了。然后,对于每个特征,记下建议将此特征保留在数据集中的选择方法的百分比。如果超过50%的方法投票赞成保留,则保留它该特征,否则,请丢弃它。
这种方法背后的思想是,虽然一些方法可能由于其内在的偏见而对某些特征做出错误的判断,但多种方法的集合应该可以正确地获得有用的特征集。
1)统计方法
►定义:其最大优势是不依赖于模型,仅从特征的角度来挖掘其价值高低,从而实现特征排序及选择。由于它们与模型无关,因此它们也更通用;它们不会对任何特定的算法进行过度匹配。它们也很容易解释:如果一个特征与目标没有统计关系,它就会被丢弃。其核心在于对特征进行排序——按照特征价值高低排序后,即可实现任意比例/数量的特征选择或剔除。
缺点是,他们分别单独查看每个特征,评估其与目标的关系。这使得他们很容易放弃一些有用的特征,而这些特征本身是目标的弱预测因子,但与其他特征结合后会为模型增加很多价值。
►包含:方差选择、方差分析、相关系数
►适用场景:/
►优势/各种方法之间的对比或差异:
方差选择,计算各个特征的方差,然后根据阈值,选择方差大于阈值的特征。优点:计算量较小,只需计算所有特征的方差即可;可作为第一次特征选择对特征进行过滤,降低后续算法的计算成本。缺点:比较依赖阈值的选取,如果阈值选取过高,会筛选掉许多有用特征;阈值过低,又会留下较多无用数据;一些作用较大的数据可能因为数据不平衡等问题出现方差较小的情况,而这些特征容易被方差过滤法给误删了;只能用于离散型数据,对于连续型数据,应先划分区间,将连续性化成离散型,再进行方差过滤。
►适用场景:由于方差过滤法的缺点较大,所以往往是先采用方差过滤法将一些变化极小或为无变化的特征先行筛选掉,减少一部分数据,然后再采用模型方法进行二次筛选。
方差分析,是一种假设检验的方法,它是分析目标在于检验各组的均值间差异是否在统计意义上显著。优点:(1)它不受统计组数的限制,可接受大样本统计数量进行多重比较,能够充分地利用试验所提供数据来估计试验误差,可以将各因素对试验指标的影响从试验误差中分离开,是一种定量分析方法,可比性强,分析精度高;(2)方差分析可以考察多个因素的交互作用。缺点:(1)涉及到全部数据,计算复杂;(2)前提条件较为苛刻,需要数据样本之间相互独立,且满足正态分布和方差齐性,所以需要对数据进行方差齐性检验。
相关系数:其主要思想是通过计算各个特征之间的相关系数,筛选出与目标变量相关性最高的特征。优点是,最简单的,能帮助理解特征和响应变量之间关系的方法,该方法衡量的是变量之间的线性相关性。速度快、易于计算,经常在拿到数据(经过清洗和特征提取之后的)之后第一时间就执行。缺陷是,它假设两个变量都是正态分布的,并且只测量它们之间的线性相关性。当相关性为非线性时,皮尔逊r将无法检测到它,即使它真的很强。
效果:简单描述操作+最终效果图
方差选择
数据分析处理

输出大于阈值的字段名为重要特征。

方差分析
数据分析处理

相关系数
数据分析处理

2)模型方法
►定义: 它使用一个模型对不同的特征子集进行评分,最终选择最佳的特征。每个新子集用于训练一个模型,该模型的性能随后在保持集上进行评估。选择产生最佳模型性能的特征子集。
►包含:逻辑回归分类、随机森林分类、梯度提升决策树分类、ReliefF、RFE
►适用场景:如果我们并不了解业务,或者有成千上万的特征,那我们也可以使用算法来帮助我们。或者,可以让算法先帮助我们筛选过一遍特征,然后在少量的特征中,我们再根据业务常识来选择更少量的特征。
►优势/各种方法之间的对比或差异:
逻辑回归分类、随机森林、RFE等,可以帮助我们识别哪些变量对于分类预测最有用。这可以提高模型的准确性。将特征选择看做是一个黑盒问题:即仅需指定目标函数(这个目标函数一般就是特定模型下的评估指标),通过一定方法实现这个目标函数最大化,而不关心其内部实现的问题。进一步地,从具体实现的角度来看,给定一个含有N个特征的特征选择问题,可将其抽象为从中选择最优的K个特征子集从而实现目标函数取值最优。
优点是,为特定类型的模型提供性能最佳的特征集。缺点是,可能会过度适用于模型类型,如果希望使用不同的机器学习模型尝试它们,则它们生成的特征子集可能不会泛化。计算量大。他们需要训练大量的模型,这可能需要一些时间和计算能力。
►效果:简单描述操作+最终效果图
逻辑回归
数据分析处理

随机森林
随机森林算法

梯度提升决策树
梯度提升决策树

ReliefF
ReliefF算法

RFE
RFE算法

仅展示重要特征。

3)集成方法
►定义:python分析重要性的几个工具。
►包含:Shap、Permutation Importance、Boruta、Partial Dependence Plots
►适用场景:/
►优势/各种方法之间的对比或差异:
Shap做特征筛选,能够提高性能,但缺点是时间成本高。参数组合越多,或者选择过程越准确,持续时间越长。这是我们实际上无法克服的物理限制。
Permutation Importance适用于表格型数据,其对于特征重要性的评判取决于该特征被随机重排后,模型表现评分的下降程度。优点是,计算速度快;应用广泛、易于理解;与我们期望一个特征重要性度量所具有的性质一致。
Boruta是一种简单但统计上很优雅的算法。它使用来自随机森林模型的特征重要性度量来选择特征的最佳子集,并通过引入两个极好的思路来实现。Boruta对特征进行了精确的分类,而不是排序,这与许多其他特征选择方法形成了鲜明对比。
Partial Dependence Plots跟排列重要性一样,部分依赖图也是要在拟合出模型之后才能进行计算。
►效果:简单描述操作+最终效果图
Permutation Importance
大数据分析数据处理

Boruta
大数据分析数据处理

Shap
在这里插入图片描述

Partial Dependence Plots
大数据分析数据处理

波动大说明特征越重要。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据分析时,进行数据建模该如何筛选关键特征? 的相关文章

  • 修改Mysql数据库的用户名和密码【详细】

    数据库的用户名默认是root 1进入到Mysql 首先要登录数据库 1win r输入cmd 管理员身份打开 或者 2搜索输入命令提示符 2 输入mysql uroot p点击回车 注意 mysql默认用户名是root 我以前修改过 所以我输
  • 看起来很长但还是有用的Spring学习笔记

    本文首发于泊浮目的专栏 https segmentfault com blog Spring致力于提供一种方法管理你的业务对象 在大量Java EE的应用中 随处可见Spring 今天我将简单的介绍一下Spring这个框架 本文适合读者 想

随机推荐

  • Verilog中generate语句的用法

    在Verilog 2001中新增了语句generate 通过generate循环 可以产生一个对象 比如一个元件或者是一个模块 的多次例化 为可变尺度的设计提供了方便 generate语句一般在循环和条件语句中使用 为此 Verilog 2
  • DLL的引入方式(DllImport的特殊引入方式)

    Dll引入方式有四种 1 就是普通的比如一个解决方案中有多个项目 将其他项目的引入到该项目中 2 就是软件自带的程序集的引入 3 就是使用dll的引入 普通的本身就是VS的dll文件 4 就是使用dll的引入 不是属于该语言的vs的Dll文
  • 减少GC开销 &&可能出现内存泄漏的情况&&两个对象相互引用会不会被GC

    如何降低java GC开销 减少GC次数 其他详见 如何减少垃圾回收的次数 jvm虚拟机 1 选择一个较好的GC器 Java9在2017年九月发布 G1 Garbage First 垃圾回收器 成为 HotSpot 虚拟机默认的垃圾回收器
  • 还没用熟 TypeScript 社区已经开始抛弃了

    前端Q 我是winty 专注分享前端知识和各类前端资源 乐于分享各种有趣的事 关注我 一起做个有趣的人 公众号 点击上方 前端Q 关注公众号 回复加群 加入前端Q技术交流群 根据 rich harris talks sveltekit an
  • C# 加密解码各种方法

    目录 一 加密解密介绍 二 MD5 三 SHA x系列 四 DES 3DES 五 RC2 六 AES 七 Base64 八 Rsa 九 参考文献 一 加密解密介绍 不可逆加密 MD5 SHA x系列对称式加密 Des 3DES RC2 AE
  • “加密系统”的巨坑

    在来公司之前 我压根就不知道这世界上原来还有 加密系统 这种软件产品存在 学名叫数据防泄漏 也怪我孤陋寡闻了 因为之前在厦门从来没听说过哪家公司有在用加密系统 当然 每家公司都有自己独特的管理需求 也许公司这边也确实重要信息比较多 核心机密
  • java自定义排序

    java中sort的自定义排序 一 Arrays sort nums 的一般用法 二 最大数 力扣179 三 合并区间 力扣59 四 总结 一 Arrays sort nums 的一般用法 整个数组按照升序排序 若需要降序排序 将数组转置即
  • ng-model数据绑定实例

    ng mode的作用是数据绑定 placeholder是默认显示值 在input里面输入任何字符都会对应显示到你下面ng model对应的name中 name
  • Python 3基础教程19-模块导入语法

    本文开始介绍模块导入的一些基本语法 我们现在还在Python自带的IDLE编辑器里写Python代码 如果你要需要一个功能 例如build in的模块 那么你就需要先导入这个模块 然后才能使用这个模块相关方法 不像在Pycharm编辑器了
  • 剑指 Offer 18. 删除链表的节点

    题目链接 18 删除链表的节点 Definition for singly linked list struct ListNode int val ListNode next ListNode int x val x next NULL c
  • 良品铺子年报:将冲击百亿营收门槛 斥资1.8亿现金分红

    雷递网 雷建平 3月23日报道 良品铺子 603719 SH 日前公布2021年度业绩 财报显示 良品铺子2021年公司营收93 24亿元 较2020年的78 94亿元增长18 11 近五年营收翻番 这意味着 良品铺子2022年将冲击百亿门
  • local_irq_save和 local_irq_disable

    如果你要禁止所有的中断该怎么办 在2 6内核中 可以通过下面两个函数中的其中任何一个关闭当前处理器上的所有中断处理 这两个函数定义在
  • constraints java_java-来自javax.validation.constraints的注释不起作用

    java 来自javax validation constraints的注释不起作用 使用id 如name NotNull等 中的注释需要什么配置 这是我的代码 import javax validation constraints Not
  • 深入理解Solidity——创建合约

    Solidity的合约类似于面向对象语言中的类 它们包含存放持久化数据的状态变量和可修改这些变量的函数 调用不同的合约实例上的函数将执行EVM函数调用 从而切换上下文 使得状态变量不可访问 创建合约 Creating Contracts 合
  • 支付宝商户转账给支付宝个人

    首先引入支付宝的jar
  • TorchServe部署pytorch模型

    文件准备 1 model file model py 参考 https github com pytorch serve blob master examples object detector maskrcnn model py 2 se
  • GODIVA论文阅读

    论文链接 GODIVA Generating Open DomaIn Videos from nAtural Descriptions 文章目录 摘要 引言 相关工作 Video to video generation Text to im
  • Hadoop3.2.*安装

    CentOS8系统安装Hadoop 3 2 1伪分布式配置 Hadoop3 2 1版本的环境搭建 Java提升营 博客园 TOC 实验目的 在 Linux VM15pro CentOS8 环境下完成Hadoop 3 2 1伪分布式环境的搭建
  • 格密码学习,抽代基础学习(二)

    今天找到了一个比较新手友好的slides 结合lec1和学姐的笔记一起看 full rank lattice 满格 R n mathbb R n Rn的概念 n维度实数集 每个元素是n维向量 向量中的每个分量是实数 Z
  • 数据分析时,进行数据建模该如何筛选关键特征?

    1 为什么要做关键特征筛选 在数据量与日俱增的时代 我们收集到的数据越来越多 能运用到数据分析挖掘的数据也逐渐丰富起来 但同时 我们也面临着如何从庞大的数据中筛选出与我们业务息息相关的数据 大背景 从数据中挖掘潜在的规律 辅助我们在实际业务