转自github: https://github.com/heucoder/dimensionality_reduction_alo_codes

网上关于各种降维算法的资料参差不齐,同时大部分不提供源代码;在此通过借鉴资料实现了一些经典降维算法的Demo(python),同时也给出了参考资料的链接。

降维算法 资料链接 展示
PCA

https://blog.csdn.net/u013719780/article/details/78352262

https://blog.csdn.net/weixin_40604987/article/details/79632888

KPCA

https://blog.csdn.net/u013719780/article/details/78352262

https://blog.csdn.net/weixin_40604987/article/details/79632888

LDA

https://blog.csdn.net/ChenVast/article/details/79227945

https://www.cnblogs.com/pinard/p/6244265.html

MDS https://blog.csdn.net/zhangweiguo_717/article/details/69663452?locationNum=10&fps=1  
ISOMAP

https://blog.csdn.net/zhangweiguo_717/article/details/69802312

http://www-clmc.usc.edu/publications/T/tenenbaum-Science2000.pdf

LLE

https://blog.csdn.net/scott198510/article/details/76099630

https://www.cnblogs.com/pinard/p/6266408.html?utm_source=itdadao&utm_medium=referral

TSNE http://bindog.github.io/blog/2018/07/31/t-sne-tips/
AutoEncoder 无 
FastICA https://blog.csdn.net/lizhe_dashuju/article/details/50263339  
SVD

https://blog.csdn.net/m0_37870649/article/details/80547167

https://www.cnblogs.com/pinard/p/6251584.html

 
LE

https://blog.csdn.net/hustlx/article/details/50850342#

https://blog.csdn.net/jwh_bupt/article/details/8945083

LPP

https://blog.csdn.net/qq_39187538/article/details/90402961

https://blog.csdn.net/xiaohen123456/article/details/82288222


每一个代码都可以单独运行,但是只是作为一个demo,仅供学习使用环境: python3.6 ubuntu18.04(windows10)
 需要的库: numpy sklearn tensorflow matplotlib

  • 其中AutoEncoder只是使用AutoEncoder简单的实现了一个PCA降维算法,自编码器涉及到了深度学习领域,其本身就是一个非常大领域
  • LE算法的鲁棒性极差,对近邻的选择和数据分布十分敏感
  • 2019.6.20添加了LPP算法,但是效果没有论文上那么好,有点迷,后续需要修改

降维算法整理--- PCA、KPCA、LDA、MDS、LLE 等的更多相关文章

  1. 四大机器学习降维算法:PCA、LDA、LLE、Laplacian Eigenmaps

    四大机器学习降维算法:PCA.LDA.LLE.Laplacian Eigenmaps 机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中.降维的本质是学习一个映 ...

  2. 【转】四大机器学习降维算法:PCA、LDA、LLE、Laplacian Eigenmaps

    最近在找降维的解决方案中,发现了下面的思路,后面可以按照这思路进行尝试下: 链接:http://www.36dsj.com/archives/26723 引言 机器学习领域中所谓的降维就是指采用某种映 ...

  3. 机器学习--降维算法:PCA主成分分析

    引言 当面对的数据被抽象为一组向量,那么有必要研究一些向量的数学性质.而这些数学性质将成为PCA的理论基础. 理论描述 向量运算即:内积.首先,定义两个维数相同的向量的内积为: (a1,a2,⋯,an ...

  4. ML: 降维算法-概述

    机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中.降维的本质是学习一个映射函数 f : x->y,其中x是原始数据点的表达, y是数据点映射后的低维向量 ...

  5. ML: 降维算法-LLE

    局部线性嵌入 (Locally linear embedding)是一种非线性降维算法,它能够使降维后的数据较好地保持原有 流形结构 .LLE可以说是流形学习方法最经典的工作之一.很多后续的流形学习. ...

  6. PCA 降维算法详解 以及代码示例

    转载地址:http://blog.csdn.net/watkinsong/article/details/38536463 1. 前言 PCA : principal component analys ...

  7. 机器学习 降维算法: isomap & MDS

    最近在看论文的时候看到论文中使用isomap算法把3D的人脸project到一个2D的image上.提到降维,我的第一反应就是PCA,然而PCA是典型的线性降维,无法较好的对非线性结构降维.ISOMA ...

  8. sklearn LDA降维算法

    sklearn LDA降维算法 LDA(Linear Discriminant Analysis)线性判断别分析,可以用于降维和分类.其基本思想是类内散度尽可能小,类间散度尽可能大,是一种经典的监督式 ...

  9. 一步步教你轻松学主成分分析PCA降维算法

    一步步教你轻松学主成分分析PCA降维算法 (白宁超 2018年10月22日10:14:18) 摘要:主成分分析(英语:Principal components analysis,PCA)是一种分析.简 ...

随机推荐

  1. kubernetes 集群添加node节点

    kubernetes 集群添加node节点 注意,我们并不需要把新增的node ip加入到证书里重新生成!!! 下面我们以添加node03为例 一.添加集群里个节点的hostname并设置好对应主机名 ...

  2. 【转】MCU厂商简介

    国内MCU市场已达360亿元,2020年将超500亿元.2016年,国内MCU市场已达360亿元,同比增长达11%,而据IC Insights预测,随着中国大陆汽车电子和物联网领域的快速发展,对MCU ...

  3. ssmtp脚本发中文邮件的笔记

    ( echo "From:<test@abc.com>"; \ echo "TO:def@abc.com"; \ echo "Subjec ...

  4. Qt5安装及组件选择(Qt 5.12.0)

    组件选择 如下图所示,安装Qt时有选择组件这一步,全部安装未免太占磁盘控件,只需安装我们所需要的组件即可.接下来就分析分析各个组件的作用及含义. “Qt 5.12.0”节点下面是 Qt 的功能模块,包 ...

  5. 本地安装部署ActiveCollab

    ActiveCollab是一个非常易于使用.基于Web.开源的协作开发与项目管理工具. 我们公司一直在用这款工具,进行任务分配和时间填写,十分简便 ActiveCollab可以利用它轻松地搭建一个包括 ...

  6. samba简单配置

    Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB (Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种 ...

  7. 十大排序代码实现(python)

    目录 冒泡排序 快速排序 简单插入排序 希尔排序 简单选择排序 堆排序 二路归并排序 多路归并排序 计数排序 桶排序 基数排序 写在前面: 参考文章:十大经典排序算法 本文的逻辑顺序基于从第一篇参考博 ...

  8. MyEclipse设置文件默认打开方式

    MyEclipse设置文件默认打开方式 依次点击: [MyEclipse]-> [Preferences] -> [General] -> [Editors] -> [File ...

  9. C++创建对象的3种方式(转载)

    #include <iostream> using namespace std; class A { private: int n; public: A(int m):n(m) { } ~ ...

  10. window10 安装mysql5.6版本

    说明:因为之前都是安装版的,我用的是5.0,版本低不能够支持现在的业务,所以升级.之前的就卸载了!!(废话太多) 下载地址:https://dev.mysql.com/downloads/file/? ...