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

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

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. 表现层框架Struts/Tapestry/JSF架构比较 [转]
  2. [音乐欣赏]Craigie Hill
  3. hql刪除語句,根據參數刪除
  4. NOIP前夕:noi.openjudge,Maximum sum
  5. 清除浮动php,CSS清除浮动
  6. ubuntu pycharm设置快捷图标_这些Ubuntu中的小技巧,你知道吗?
  7. 【BZOJ】【3671】【NOI2014】随机数生成器
  8. 从零开始山寨Caffe·贰:主存模型
  9. 转载,对于已用encryption加密的存储过程,的解密方法
  10. shell 字符串包含关系
  11. 诺基亚收购阿朗再交易 持股比例将超95%
  12. 二十、对象的引用与传递
  13. Ubuntu(Mint)下搭建SVN服务器
  14. QT 5.9.0下载安装及配置教程
  15. java测试vss_VSS项目分支
  16. 用心理书籍来帮助自身成长
  17. suse下oracle静默安装,SUSE Linux Enterprise 11SP1静默安装Oracle 11gR2说明文档.doc
  18. YOLO格式的DOTA遥感数据集(HBB水平框)
  19. mysql5.7从锁表吗_5分钟了解MySQL5.7的Online DDL雷区
  20. matlab平稳性检验

热门文章

  1. 服务器CPU占用高问题处理记录
  2. 用微信小程序开发一个计算器
  3. Docker 3.2.12:基于 Dockerfile 制作 Redis 镜像
  4. 比 json 快 10 倍的的msgpack
  5. 学系统集成项目管理工程师(中项)系列21a_整体管理(上)
  6. MEMS麦克风已成消费市场的主流产品选择
  7. 不做外卖没生意,做外卖没利润|餐饮行业如何打破魔咒?
  8. xunsearch php实例,xunsearch系列(一)安装篇
  9. 【基础课程】计算机组成原理
  10. mysql执行计划重用_MySQL 优化之EXPLAN执行计划