机器学习中必知必会的 8 种降维技术,最后一款超硬核!
欢迎关注 ,专注Python、数据分析、数据挖掘、好玩工具!
探索性数据分析是数据科学模型开发管道的重要组成部分。数据科学家将大部分时间花在数据清洗、特征工程和执行其他数据整理技术上。降维是数据科学家在执行特征工程时使用的技术之一。
降维是将高维数据集转换为可比较的低维空间的过程,真实的数据集通常有很多冗余特征,降维技术可用于去除这些冗余特征或将n维数据集转换为2维或3维进行可视化。
在本文中,我们将讨论8种降维技术,它们可以用于各种用例来降低数据集的维度。
1. 缺失值
真实的数据集通常包含大量缺失记录,这可能是由于记录数据时数据损坏或保存失败造成的。我们可以尝试各种数据插补技术来填补缺失的记录,但这仅在特征缺失数量有限时有效。
如果缺失特征值的数量大于指定的阈值,则最好从训练数据中删除该特征。我们可以删除所有缺失特征记录大于阈值(比如50%)的特征,从而降低数据的维度。
上述缺失值解释图像是使用themissingno包为titanic数据生成的。特征“Age”和“Cabin”有大量缺失记录,最终,它们可以从训练样本中去除。
2.相关性滤波器
一个或多个特征的相关性较高说明其具有相似的变化趋势且可能包含相似的信息,它会破坏自变量的统计显著性,我们可以删除与其他独立特征相关的特征,还可以删除与目标类标签不相关的特征。
有多种技术可以计算独立特征之间的相关性,包括 Pearson、Spearman、Kendall、卡方检验等。
上述相关矩阵热图(针对titanic数据集)是使用df.corr()函数计算的。
3.方差滤波器
只有一个特征类别的分类特征或方差很小的数值特征变量,这些特征不会对我们的模型有一定的提升,可以从训练样本中删除。
函数DataFrame.var()可以计算 Pandas 数据帧的所有特征的方差。DataFrame.value_counts()函数可以计算每个特征的分布。
4.前向/后向特征选择
前向特征选择技术是一种选择最佳特征集的包装技术。这是一个循序渐进的过程,特征是根据上一步的推断来选择的。前向特征选择技术的步骤是:
- 1.使用每个特征分别训练机器学习模型,并测量每个模型的性能。
- 2.获取性能最佳的特征并使用其余特征重新训练单个模型。
- 3.重复这个过程并一次添加一个特征,产生性能最佳的特征被保留。
- 4.重复步骤 2 和 3,直到模型的性能没有明显的改善。
后向特征选择技术类似于前向特征选择,但工作方式正好相反,最初选择所有特征,并在每一步中删除最冗余的特征。
5.主成分分析
主成分分析 (PCA) 是一种非常古老的降维技术。PCA 通过保留特征的方差将特征向量投影到低维空间,它找到最大方差的方向以获得最佳特征列表。
PCA 可用于将非常高维的数据投影到所需的维度。PCA算法的步骤是:
- 标准化数据集
- 计算标准化数据集的协方差矩阵
- 计算协方差矩阵的特征值和特征向量
- 取特征向量与具有高特征值的特征向量的点积。
6.t-SNE
t-SNE(t-分布式随机邻域嵌入)是一种降维技术,主要用于数据可视化。t-SNE将高维的数据集转换为可以进一步可视化的二维或三维向量。
t-SNE 的性能优于 PCA,因为它保留了数据的局部结构,并通过保留邻域局部结构将每个数据点从较高维度嵌入到较低维度空间。
更多内容可以查看:https://distill.pub/2016/misread-tsne/
7.UMAP
UMAP(Uniform Manifold Approximation)是一种新的降维技术,它是一种非常有效的可视化和可伸缩降维算法,其工作方式与 t-SNE 类似,但是它保留了更多全局结构、具有优越的运行性能、更好的可扩展性。
更多详情:https://umap-learn.readthedocs.io/en/latest/basic_usage.html
8.自动编码器(Auto Encoder )
自动编码器(Auto Encoder )是一种基于单层感知器的降维方法。它有两个组成部分:压缩(编码器)和扩展(解码器)。输入层和输出层的节点数量相同,而中间层的神经元数量少于输入层和输出层。
数据集被传递到自动编码器神经网络模型,并被编码到较低维度的隐藏层。然后它尝试从简化的编码中生成尽可能接近其原始输入的表示。中间层是减少到可比较的较低维度的向量。
总结
在本文中,我们讨论了基于特征选择的降维方法、基于组件的降维技术、基于投影的方法,最后是基于神经网络的自动编码器。
ISOMAP 是另一种基于投影的降维方法,其工作方式类似于 UMAP 和 t-SNE。SVD 和 ISO 是其他一些基于组件的降维技术。
技术交流
欢迎转载、收藏、有所收获点赞支持一下!
目前开通了技术交流群,群友超过2000人,添加方式如下:
如下方式均可,添加时最好方式为:来源+兴趣方向,方便找到志同道合的朋友
- 方式一、发送如下图片至微信,进行长按识别,回复加群;
- 方式二、直接添加小助手微信号:pythoner666,备注:来自CSDN
- 方式三、微信搜索公众号:Python学习与数据挖掘,后台回复:加群
机器学习中必知必会的 8 种降维技术,最后一款超硬核!相关推荐
- 【机器学习】机器学习中必知必会的 8 种降维技术,最后一款超硬核!
探索性数据分析是数据科学模型开发管道的重要组成部分.数据科学家将大部分时间花在数据清洗.特征工程和执行其他数据整理技术上.降维是数据科学家在执行特征工程时使用的技术之一. 降维是将高维数据集转换为可比 ...
- tableau必知必会之如何在同一视图中进行相同分析维度图表的切换
实际业务场景中,你可能会遇到类似的分析需求:多组织架构.多业务线的数据分析,希望能在同一个视图中,通过切换图表,可以快速查看不同层级数据的分析结果. 例如下图,我们将企业总部设置为"板块&q ...
- gns3中两个路由器分别连接主机然后分析ip数据转发报文arp协议_关于TCP/IP,必知必会的十个问题!...
本文整理了一些TCP/IP协议簇中需要必知必会的十大问题,既是面试高频问题,又是程序员必备基础素养. TCP/IP十个问题 TCP/IP十个问题 一.TCP/IP模型 TCP/IP协议模型(Trans ...
- 从《MySQL必知必会》中对MySQL的理解
MySQL是一个开源的DBMS,是目前主流的关系型数据库DBMS之一.在<MySQL必知必会>中,作者通过简单实用的订单实例简而明要地介绍了MySQL,这里简单汇总. 查询 检索+过滤+排 ...
- SQL必知必会-笔记(完善版):第1课
文章目录 SQL必知必会 一.了解数据库 1.1 数据库基础 1.1.1 数据库 (补充)数据库管理系统: 注意1: 1.1.2 表 1.1.3 列和数据类型 1.1.4 行row 1.1.5 主键 ...
- Java架构师必知必会,带走不谢
可以说,Java是现阶段中国互联网公司中,覆盖度最广的研发语言,掌握了Java技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能有立足之地. 成为Java架构师,需要掌握哪些技能呢 ...
- c2064 项不会计算为接受0个参数的函数_【JS必知必会】高阶函数详解与实战
本文涵盖 前言 高级函数概念 函数作为参数的高阶函数 map filter reduce sort详解与实战 函数作为返回值的高阶函数 isType函数与add求和函数 如何自己创建高阶函数 前言 一 ...
- mysql必知必会_《MySQL必知必会》学习小结
关于SQL,之前通过sqlzoo的题目,完成了入门,也仅仅是入门而已. 最近都在忙着投简历和找新的数据分析项目做(为了练python和面试的时候有的聊),所以SQL放了一段时间没练.目前的工作用不到, ...
- php7.2 开启mcy扩展,phper必知必会(二)
1.说说你对进程,线程以及协程的理解 进程:是系统进行资源分配和调度的基本单位,是基本操作系统结构的基础.进程是程序基本执行的实体.进程与进程之间是独立的,拥有完全独立的地址空间,进程的切换只发生在内 ...
最新文章
- 根据传入坐标和图片URL地址对图片进行切图操作、将图片转化成Base64位码
- oracle中导入dmp数据注意事项
- IT认证不归路、CCIE高失业率
- 保存和恢复应用程序状态
- 如何发布打印机文件夹及ICA 客户端打印机配置工具
- 一些有用的Linux命令
- 导向滤波python_导向滤波(Guided Filter)简要介绍
- BZOJ 2038: [2009国家集训队]小Z的袜子(莫队算法例题)
- android系统里面的mic是哪个app_安利 | 那些错过会后悔一年的法语APP
- Python查看、修改pip install 默认使用的pip库
- 基于轨迹的游客行为特征分析
- C 语言中MDI有什么作用,Qt MDI及其使用方法(详解版)
- js实现对数组每一项加1的三种方法
- 揭秘苹果内购的大漏洞和内购订阅的黑陷阱
- 弘辽科技:淘宝直通车点击量是什么意思?直通车点击量怎么提升?
- 【2020-10-28】DS12C887+驱动
- 项目中用了多个日志依赖,导致冲突
- hutool工具类生成二维码案例
- 浙江大学软件学院2020年保研上机模拟练习
- matlab 龙贝格法,matlab龙贝格法
热门文章
- 概率统计·多维随机变量及其分布【二维随机变量、边缘分布、条件分布】
- 微软收购暴雪的野心:与索尼争雄 重金布局元宇宙
- 网页游戏加速浏览器的原理是什么?
- WEB前端 开始学习 7.29
- Hadoop下载安装(ubantu20.04)
- 操作系统实验第五天:结构体、文字显示与GDT/IDT初始化
- 实例分析对关键词堆砌以及长尾关键词的判断
- sql中的参照完整性(一对一,一对多,多对多)
- 小甲鱼python课后题答案_小甲鱼Python课后习题-仅学习 - 随笔分类 - 小红帽爱吃大灰狼 - 博客园...
- 从零开始开发物联网项目(8)——云服务器初体验