常用降维方法-常用降维方法的目的

正所谓每一个结果的出现都是一系列的原因导致的,当构建机器学习模型时候,有时候数据特征异常复杂,这就需要经常用到数据降维技术,下面主要介绍一些降维的主要原理。

1. 降维的目的

在实际的机器学习项目中,特征选择/降维是必须进行的,因为在数据中存在以下几个 方面的问题:

数据的多重共线性:特征属性之间存在着相互关联关系。多重共线性会导致解的空间不稳定, 从而导致模型的泛化能力弱;

高纬空间样本具有稀疏性,导致模型比较难找到数据特征;

过多的变量会妨碍模型查找规律;

仅仅考虑单个变量对于目标属性的影响可能忽略变量之间的潜在关系。通过特征选择/降维的目的是:

减少特征属性的个数

确保特征属性之间是相互独立的

当然有时候也存在特征矩阵过大, 导致计算量比较大,训练时间长的问题

因为篇幅有限,本次实验主要介绍以下两种降维方法:

PCA

LDA

2. 常见两大降维方法

2.1 PCA

主成分析(PCA):将高纬的特征向量合并称为低纬度的特征属性,是一种无监督 的降维方法。

算法目标是通过某种线性投影,将高维的数据映射到低维的空间中表 示,并且期望在所投影的维度上数据的方差最大(最大方差理论),以此使用较 少的数据维度,同时保留较多的原数据点的特性。

主成分选择

假设原来的特征数据是n维数据,首先选着方差最大方向为第一维数据。第二个坐标轴选择和第一个坐标轴垂直或者正交 的方向;第三个坐标轴选择和第一个、第二个坐标轴都垂直或者正交的方向;该 过程一直重复,直到新坐标系的维度和达到给定的值。 而这些方向所表示的数据特征就被称为“主成分”。

2.2 LDA

线性判断分析(LDA):LDA是一种基于分类模型进行特征属性合并的操作,是一 种有监督的降维方法。

LDA的原理是,将带上标签的数据(点),通过投影的方法,投影到维度更低的 空间中,使得投影后的点,会形成按类别区分,一簇一簇的情况,相同类别的点, 将会在投影后的空间中更接近。用一句话概括就是:“投影后类内方差最小,类 间方差最大”

比较:

相同点:

两者均可以对数据完成降维操作

两者在降维时候均使用矩阵分解的思想

两者都假设数据符合高斯分布

不同点:

LDA是监督降维算法,PCA是无监督降维算法

LDA降维最多降到类别数目k-1的维数,而PCA没有限制

LDA除了降维外,还可以应用于分类

LDA选择的是分类性能最好的投影,而PCA选择样本点投影具有最大方差的方向

python怎么降维_【Python算法】常用降维方法-常用降维方法的目的相关推荐

  1. python 卡方检验 特征选择_结合Scikit-learn介绍几种常用的特征选择方法

    特征选择(排序)对于数据科学家.机器学习从业者来说非常重要.好的特征选择能够提升模型的性能,更能帮助我们理解数据的特点.底层结构,这对进一步改善模型.算法都有着重要作用. 特征选择主要有两个功能: 减 ...

  2. python 病毒 基因_#Python#提取基因对应的蛋白质名

    提取基因对应的蛋白质官方名 最开始,是需要将基因跟其编码的蛋白质对应起来,找遍了各种数据库都没发现有相关的注释文件,Uniprot作为处理蛋白质的大佬,结果里都有,肯定有办法能够满足需求. 搜索TP5 ...

  3. python keyboard模块_[python] PyMouse、PyKeyboard用python操作鼠标和键盘

    1.PyUserInput 简介 PyUserInput是一个使用python的跨平台的操作鼠标和键盘的模块,非常方便使用.支持的平台及依赖如下: Linux - Xlib Mac - Quartz, ...

  4. python 字典类型问题_[ python ] 字典类型的一些注意问题

    1) get()方法. 字典可以直接用a[b]的方式访问字典项,但如果b不存在时,会报异常.为了避免这种情况,可以使用get()方法来访问字典项,a.get(b)当b存在时,结果和a[b]一样,如果b ...

  5. python mean函数_聚类算法 Mean-shift

    Mean-shift概述 Mean-shift又称均值迁移算法,它是指在数据集中选定一个点,然后以这个点为圆心,为半径,画一个圆(二维下是圆),求出这个点到所有点的向量的平均值,而圆心与向量均值的和为 ...

  6. python集合排序_排序算法集合

    #### 冒泡排序 ### 时间复杂度是: O(n^2) ### 空间复杂度是: O(1) def BubbleSort(li): for i in range(len(li)): # i = 0 f ...

  7. python 动态规划 回溯_回溯算法 - 全排列算法实现(pythondart)

    回溯算法 , 就是 穷举 解决一个回溯问题,实际上就是一个决策树的遍历过程. 路径: 也就是已经做出的选择 选择列表: 也就是你当前可以做的选择 结束条件: 也就是到达决策树底层,无法再做选择的条件. ...

  8. python playsound安装_ python音频库:Windows下pydub安装配置、过程出现的问题及常用API ...

    < python音频库:Windows下pydub安装配置.过程出现的问题及常用API > 背景 刚从B站上看过倒放挑战之后也想体验下,心血来潮一个晚上完成了基本的实现.其中倒放与播放部分 ...

  9. python进行对应分析_机器学习算法---对应分析

    --------仅用于个人学习知识整理和sas/R语言/python代码整理 --------该文章首发于csdn 正在迁移优化文章中 1.前言 对应分析,主要适用于有多个类别的分类变量,可以揭示同一 ...

  10. 遗传算法 python 简书_【算法】超详细的遗传算法(Genetic Algorithm)解析

    00 目录 遗传算法定义 生物学术语 问题导入 大体实现 具体细节 代码实现 01 什么是遗传算法? 1.1 遗传算法的科学定义 遗传算法(Genetic Algorithm, GA)是模拟达尔文生物 ...

最新文章

  1. 前后台使用ajax传list的时候,用value[] 获取值
  2. 六边形溯源追踪算法编程思想与代码
  3. 详解如何使用Istio监控基于容器的服务
  4. 很遗憾,总对工作挑挑拣拣的家伙,一般结局都不会太好
  5. php助手函数自定义,Laravel 添加自定义助手函数
  6. 修改spfile位置
  7. Redis实现消息队列和订阅发布模式
  8. mds算法python函数_分享python mds,sha256加密算法,c#对应sha256加密算法
  9. Android Studio NDK报错:mips64el-linux-android-strip 找不到
  10. 在VS2010进行MFC编程设置字符集的问题(使用多字节字符集引起错误)
  11. 史上最优美的Android原生UI框架XUI使用指南
  12. 闰月算法c语言,公历转农历算法-C语言
  13. 2022年Unity 面试题 |五萬字 二佰道| Unity面试题大全,面试题总结【全网最全,收藏一篇足够面试】
  14. Java中的Enum的简单使用
  15. php正则表达式表情,php正则表达式储存展示表情字符的方法
  16. js中图片base64格式转文件对象
  17. mac系统下word和excel设置文件打开密码,输入密码才能打开文件
  18. vue 插件qs使用
  19. outlook 无法打开
  20. Source Insight免费下载(含秘钥+教程)

热门文章

  1. Python编程之求数字平方
  2. kaggle phone verify 收不到验证码
  3. 面试技巧-互联网行业通吃
  4. AI语音唤醒方案的设计与实现
  5. AtCoder Beginner Contest 233
  6. skew算法_CSS3 transform 属性详解(skew, rotate, translate, scale)
  7. 计算机的数据逻辑结构包括,数据结构里的数据逻辑结构分为哪4种
  8. dbForge Studio不能直接在可视化界面添加、修改和删除
  9. WebRTC源码分析-呼叫建立过程之四(上)(创建并添加本地音频轨到PeerConnection)
  10. CentOS 6 安装 Nvidia 显卡驱动