特征选择、特征降维和特征提取到底有什么区别和联系?这篇文章一次性给你讲清楚!

目录

一、特征选择:

1.最大互信息系数(MIC):

2.互信息(MI):

3.最大相关最小冗余算法(mRMR):

4.支持向量机递归特征消除(SVM_RFE):

二、特征降维:

1.主成分分析(PCA):

2.核主成分分析(KPCA):

3.t-分布随机邻域嵌入(t-SNE):

三、特征提取:

1.信号处理层面

2.深度学习层面

①CNN-LSTM-Attention:

②DBN-SVM:

③CNN-BiGRU-Attention:

④DBN-ELM:

四、总结

以上完整代码获取


不断有小伙伴留言说不了解特征选择、特征降维和特征提取之间的关系,在实际操作中也经常容易搞混。既然用了,就要知其然还要知其所以然,今天这篇文章就用通俗易懂的语言一次性讲清楚三者的区别!

首先,从通俗易懂和标准学术两种角度给大家详细解释!

一、特征选择

通俗易懂版:想象一下,你在拍照时会选择最能代表场景的角度,去除不必要的背景,这样的照片更能吸引人。特征选择也是同样的道理,它的目标是从所有的特征中选出最重要的那些,去除不相关或冗余的特征。这样做的好处是可以让模型更专注于那些有用的信息,提高模型的效率和性能。

学术专业版:特征选择是从原始数据集中选择出最有用的特征子集的过程。比如你现在有50个特征,可以通过模型来选择20个最有用的!目的是去除不相关(噪声)或冗余的特征,从而提高模型的性能,减少计算成本,并提高模型的可解释性。特征选择方法大致可以分为三类:过滤法(Filter Methods)、包裹法(Wrapper Methods)、和嵌入法(Embedded Methods)。

常用方法:

1.最大信息系数(MIC):

属于过滤法,最大互信息系数能够计算各个特征之间的最大互信息系数,进而根据最大互信息系数筛选最优特征。

2.互信息(MI):

属于过滤法,与最大互信息系数类似,计算各个特征之间的最大互信息,进而根据互信息筛选最优特征。

3.最大相关最小冗余算法(mRMR):

属于过滤法,用于在原始特征集合中找到与最终输出结果相关性最大,但是特征彼此之间相关性最小的一组特征

4.支持向量机递归特征消除(SVM_RFE):

属于包裹法,反复构建模型并选择最好或最差的特征(基于模型的权重),放弃选定的特征并在剩余的特征上重复这个过程,直到所有特征都历完毕。

二、特征维:

通俗易懂版:如果说特征选择是从照片中剪掉不需要的部分,那么特征降维就像是用一种技术手段,将照片压缩成更小的文件,同时尽量保留原来的信息。特征降维是通过数学方法减少特征的数量,将很多特征合并成较少的新特征。这不仅减少了数据的复杂度,还有助于避免过拟合,提高模型的泛化能力。常见的特征降维方法有PCA(主成分分析)。

学术专业版:特征降维是减少数据集中特征数量的过程,但它是通过创建新的特征组合或投影,而不是选择原始特征的子集。这些新特征是原始特征的转换或组合,旨在保留数据的大部分重要信息。常见的特征降维方法包括主成分分析(PCA)、线性判别分析(LDA)和t-分布随机邻域嵌入(t-SNE)等。特征降维通常用于数据可视化、降低存储需求、减少计算时间以及有时还可以帮助改善模型性能。

常用方法:

1.主成分分析(PCA)

通过线性变换将原始数据转换到新的坐标系统中,变换后的每个坐标轴(主成分)依次具有最大的方差。

2.核主成分分析(KPCA):

扩展了传统的主成分分析(PCA)方法,使其能够有效处理非线性数据结构。

3.t-分布随机邻域嵌入(t-SNE)

通过优化相似度的概率分布来寻找数据在低维空间的最佳表示,能够在低维空间中保持高维数据点之间的相对距离,非常适合于数据可视化。

三、特征提取:

通俗易懂版:特征提取就像是从一堆杂乱无章的信息中提炼出精华,创造出新的特征。它通过对原始数据进行变换或组合,生成一组“新”的特征,这些新特征能更好地代表数据的核心信息。特征提取在处理图像、文本等复杂数据时特别有用,因为直接处理这些数据往往不易于模型理解和学习。

学术专业版:特征提取是将原始数据转换或映射到新的特征空间的过程。这个过程涉及到从原始数据中提取信息并将其转化为更有效的表示形式(即,特征集)。特征提取旨在减少原始数据集的维度,同时保留关于原始数据集的尽可能多的重要信息。这种方法在图像处理、文本分析和语音识别等领域尤其常见。特征提取可以是手动设计特征,也可以通过自动化的方法(如通过深度学习模型)来实现。

常用的方法有:

1.信号处理层面

一般有基于频域的信号特征提取、基于时域的信号特征提取等等,一般可以用来做故障诊断等研究~

需要代码的小伙伴可留言,我会尽快出~

2.深度学习层面

一般通过CNN提取时间层面特征,大家熟知的CNN-LSTN-Attention就是通过这种方法实现,每个卷积层通过一系列的卷积核滤波器来捕捉数据的局部特征,然后使用池化层(如最大池化)来降低特征的空间维度,增强模型的泛化能力。

另外还有DBN深度置信网络,DBN由多层受限玻尔兹曼机(RBM)堆叠而成。每个RBM层都学数据在给定层的特征表示时的概率分布,能够自动发现复杂的、非线性的特征,这些特征往往是手工特征提取方法难以捕捉的。

以分类预测为例:

①CNN-LSTM-Attention:

CNN用于捕捉数据中的局部模式和特征;LSTM用于处理数据捕捉长期依赖关系;注意力机制提供了对关键信息的聚焦能力,从而提高预测的准确性。

②DBN-SVM:

用DBN进行特征提取,将提取后的特征放入SVM进行分类实现组合预测

以回归预测为例:

③CNN-BiGRU-Attention:

CNN用于捕捉数据中的局部模式和特征;BiGRU用于处理数据捕捉长期依赖关系;注意力机制提供了对关键信息的聚焦能力,从而提高预测的准确性。

④DBN-ELM:

用DBN进行特征提取,将提取后的特征放入SVM进行分类实现组合预测

四、总结

特征选择关注于从原始特征中选择最重要的子集,不改变特征本身。

特征降维通过创建新的特征组合减少特征的数量,以降低问题的维度。

特征提取从数据中提取新的特征,这些特征是原始数据的高效表示。

以上完整代码获取

点击下方小卡片,找到对应文章,后台回复关键字即可~

其他更多需求或想要的代码均可点击下方小卡片后台私信,看到后会秒回~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/398221.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构/c++】求解有向无环图DAG的关键路径

#include<cstring>//memset头文件 #include<algorithm>//fill头文件 #include<vector> #include<stdio.h> #include<stack> #include<queue> using namespace std; const int MAXV510; struct Node{int v,w;Node(int _v,int _w):v(_v),…

【.NET Core】常见C#代码约定

【.NET Core】常见C#代码约定 文章目录 【.NET Core】常见C#代码约定一、概述二、代码预定的目标三、代码约束工具和分析器四、C#语言准则五、字符串约定5.1 使用字符串内插来连接短字符串5.2 插入大文本时&#xff0c;使用System.Text.StringBuilder对象 六、数组约定七、委托…

提升认知水平和防止偏见浅谈

提升认知水平和防止偏见浅谈 《庄子外物》&#xff1a;井蛙不可语海&#xff0c;夏虫不可语冰。 不要跟井底的青蛙谈论大海&#xff0c;因为它的认知只有井底那么大&#xff0c;大海对于它来说是认知盲区&#xff1b;不要与夏虫去谈论冰雪&#xff0c;因为夏虫一生很短没有经历…

springboot203医疗挂号管理系统

医疗挂号管理系统设计与实现 摘 要 在如今社会上&#xff0c;关于信息上面的处理&#xff0c;没有任何一个企业或者个人会忽视&#xff0c;如何让信息急速传递&#xff0c;并且归档储存查询&#xff0c;采用之前的纸张记录模式已经不符合当前使用要求了。所以&#xff0c;对医…

摄像设备+nginx+rtmp服务器

前言 由于html中的video现在不支持rtmp协议(需要重写播放器框架&#xff0c;flash被一刀切&#xff0c;360浏览器还在支持flash),遂用rtmp作为桥梁,实际是hls协议在html中起作用. 在此推荐一款前端播放器,.ckplayer 简直了,写点页面,一直循环&#xff0c;洗脑神曲 dream it po…

spring boot3参数校验基本用法

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《spring boot实战》 &#x1f30a;山高路远&#xff0c;行路漫漫&#xff0c;终有归途。 目录 前置条件 前言 导入依赖 使用介绍 配置检验规则 开启校验 使用注意 全局异常捕获返回友好提示信息 常用的校…

Sparse MLP

上图展示了本文网络的整体架构。与ViT、MLP-Mixer和Swin Transformer类似&#xff0c;空间分辨率为HW的输入图像被分割为不重叠的patch。作者在网络中采用了44的patch大小&#xff0c;每个patch被reshape成一个48维的向量&#xff0c;然后由一个线性层映射到一个c维embedding i…

可解决95%以上问题的Linux命令!能用到退休

对于我们程序员来说&#xff0c;我们始终绕不过去要与 Linux 系统打交道。很多人&#xff0c;特别是新手程序员&#xff0c;一看到 Linux 系统那个小黑框&#xff0c;就发怵&#xff0c;其实&#xff0c;如果你真正去深入了解了&#xff0c;然后再学会一些常用的命令&#xff0…

网络入山太困难?看格行随身WiFi如何助力大山教育!

近日&#xff0c;一则关于偏远大山的上网问题冲上了热搜&#xff0c;引发了社会关注。虽然很多山区都已经通了电、通了网&#xff0c;但是在一些贫困的地区&#xff0c;网络基础设施依旧薄弱&#xff0c;村民想要使用固定宽带&#xff0c;仍然十分困难。 而在山区的学生们&…

每日OJ题_二叉树dfs②_力扣129. 求根节点到叶节点数字之和

目录 力扣129. 求根节点到叶节点数字之和 解析代码 力扣129. 求根节点到叶节点数字之和 129. 求根节点到叶节点数字之和 难度 中等 给你一个二叉树的根节点 root &#xff0c;树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表一个数字&am…

Unable to make field private JavacProcessingEnvironment$DiscoveredPro报错解决办法

maven项目打包报错 报错信息 Unable to make field private com.sun.tools.javac.processing.JavacProcessingEnvironment$DiscoveredProcessors com.sun.tools.javac.processing.JavacProcessingEnvironment.discoveredProcs accessible: module jdk.compiler does not &q…

【最新Dubbo3深入理解】Dubbo特性、工作原理以及负载均衡策略

欢迎关注公众号&#xff08;通过文章导读关注&#xff1a;【11来了】&#xff09;&#xff0c;及时收到 AI 前沿项目工具及新技术的推送&#xff01; 在我后台回复 「资料」 可领取编程高频电子书&#xff01; 在我后台回复「面试」可领取硬核面试笔记&#xff01; 文章导读地址…

SpringAop是什么?

简单介绍&#xff1a; AOP&#xff1a;Aspect Oriented Programming (面向切面编程、面向方面编程)&#xff0c;其实就是面向特定方法编程。 场景&#xff1a; 比如现在有一个需求&#xff0c;我要统计每一个业务方法的耗时时长&#xff0c; 我们只需在业务方法的前面获取一个…

ThreadLocal(5):ThreadLocalMap源码分析

在分析ThreadLocal方法的时候&#xff0c;我们了解到ThreadLocal的操作实际上是围绕ThreadLocalMap展开的。ThreadLocalMap的源码相对比较复杂, 我们从以下三个方面进行讨论。 1 基本结构 ​ ThreadLocalMap是ThreadLocal的内部类&#xff0c;没有实现Map接口&#xff0c;用独…

Python三级考试笔记

Python三级考试笔记【源源老师】 三级标准 一、 理解编码、数制的基本概念&#xff0c;并且会应用。 1. 能够进行二进制、十进制以及十六进制之间的转换&#xff1b; 2. 理解Python中的数制转换函数。 二、 掌握一维数据的表示和读写方法&#xff0c;能够编写程序处理一维数据…

QT 文本编辑框textBrowser接收数据保持光标在底部的方法

目录 1.实现效果2.代码 1.实现效果 2.代码 右键textBrowser加入触发信号textChanged&#xff1a; 双击&#xff0c;跳转到槽函数&#xff1a;(文本更改时执行该函数) void Widget::updata_textBrowser() void Widget::on_textBrowser_textChanged() {//光标移动至底部ui->…

npm install 安装依赖如何加速

在使用npm安装依赖时&#xff0c;有几种方法可以加速这一过程&#xff0c;尤其是在面临网络限制或npm官方源速度慢的情况下。以下是一些常用的加速技巧&#xff1a; 1. 使用国内镜像源 国内有几个镜像源可以提供更快的下载速度&#xff0c;例如淘宝npm镜像。你可以通过以下命…

Android挖取原图中心区域RectF(并框线标记)放大到ImageView宽高,Kotlin

Android挖取原图中心区域RectF(并框线标记)放大到ImageView宽高&#xff0c;Kotlin 红色线框区域即为选中的原图中心区域&#xff0c;放大后放到等宽高的ImageView里面。 import android.content.Context import android.graphics.Bitmap import android.graphics.BitmapFactor…

Java - @JSONField和@JsonProperty注解

JSONField注解是阿里巴巴的fastjson框架中的注解&#xff0c;用于指定JSON字符串中的属性名和Java对象中的属性名之间的映射关系 JsonProperty注解是Jackson框架中的注解&#xff0c;用法类似于JSONField&#xff0c;也是指定JSON字符串中的属性名和Java对象中的属性名之间的映…

浮毛克星:猫毛过敏也能解决?宠物空气净化器品牌推荐

有些人认为对猫咪过敏是因为它们在空气中漂浮的毛发导致的。实际上&#xff0c;大部分人对猫咪过敏是由于它们身上的一种微小蛋白质引起的。这种过敏原蛋白质附着在猫咪的一些皮屑上。猫咪通常会通过舔毛的方式保持自己的清洁&#xff0c;舔毛的过程会导致这些皮屑携带蛋白质进…
最新文章