当前位置: 首页 > 编程日记 > 正文

PCA、LDA、MDS、LLE、TSNE等降维算法的Python实现


整理 | 夕颜
出品 | AI科技大本营(ID:rgznai100)
【导读】网上关于各种降维算法的资料参差不齐,但大部分不提供源代码。近日,有人在 GitHub 上整理了一些经典降维算法的 Demo(Python)集合,同时给出了参考资料的链接。

  1. PCA
640?wx_fmt=png
资料链接:https://blog.csdn.net/u013719780/article/details/78352262
https://blog.csdn.net/u013719780/article/details/78352262
https://blog.csdn.net/weixin_40604987/article/details/79632888
GitHub代码:https://github.com/heucoder/dimensionality_reduction_alo_codes/tree/master/codes/PCA
  1. KPCA
640?wx_fmt=png
资料链接:https://blog.csdn.net/u013719780/article/details/78352262
https://blog.csdn.net/weixin_40604987/article/details/79632888
https://blog.csdn.net/u013719780/article/details/78352262
GitHub代码:https://github.com/heucoder/dimensionality_reduction_alo_codes/tree/master/codes/PCA
  1. LDA
640?wx_fmt=png
资料链接:https://blog.csdn.net/ChenVast/article/details/79227945
https://www.cnblogs.com/pinard/p/6244265.html
GitHub代码:https://github.com/heucoder/dimensionality_reduction_alo_codes/tree/master/codes/LDA
 
  1. MDS
640?wx_fmt=png640?wx_fmt=png
资料链接:https://blog.csdn.net/zhangweiguo_717/article/details/69663452?locationNum=10&fps=1
GitHub代码:https://github.com/heucoder/dimensionality_reduction_alo_codes/tree/master/codes/MDS
  1. ISOMAP
640?wx_fmt=png
资料链接:https://blog.csdn.net/zhangweiguo_717/article/details/69802312
http://www-clmc.usc.edu/publications/T/tenenbaum-Science2000.pdf
GitHub代码:https://github.com/heucoder/dimensionality_reduction_alo_codes/tree/master/codes/ISOMAP
  1. LLE
640?wx_fmt=png
资料链接:https://blog.csdn.net/scott198510/article/details/76099630
https://www.cnblogs.com/pinard/p/6266408.html?utm_source=itdadao&utm_medium=referral
GitHub代码:https://github.com/heucoder/dimensionality_reduction_alo_codes/tree/master/codes/LLE

  1. TSNE
640?wx_fmt=png
资料链接:http://bindog.github.io/blog/2018/07/31/t-sne-tips/
GitHub代码:https://github.com/heucoder/dimensionality_reduction_alo_codes/tree/master/codes/T-SNE
  1. AutoEncoder
640?wx_fmt=png
  1. FastICA

资料链接:https://blog.csdn.net/lizhe_dashuju/article/details/50263339
GitHub代码:https://github.com/heucoder/dimensionality_reduction_alo_codes/tree/master/codes/ICA
  1. SVD

资料链接:https://blog.csdn.net/m0_37870649/article/details/80547167
https://www.cnblogs.com/pinard/p/6251584.html
GitHub代码:https://github.com/heucoder/dimensionality_reduction_alo_codes/tree/master/codes/SVD

  1. LE
640?wx_fmt=png
资料链接:https://blog.csdn.net/hustlx/article/details/50850342
https://blog.csdn.net/jwh_bupt/article/details/8945083
GitHub代码:https://github.com/heucoder/dimensionality_reduction_alo_codes/tree/master/codes/LE

  1. LPP
640?wx_fmt=png
资料链接:https://blog.csdn.net/qq_39187538/article/details/90402961
https://blog.csdn.net/xiaohen123456/article/details/82288222
GitHub代码:https://github.com/heucoder/dimensionality_reduction_alo_codes/tree/master/codes/LPP
此外,作者还指出本次整理的降维算法实现环境为 Python3.6、ubuntu18.04(windows10) ,需要的库包括 numpy、sklearn、tensorflow 和 matplotlib,且具有以下特点:

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

项目 GitHub 链接:https://github.com/heucoder/dimensionality_reduction_alo_codes

(*本文为 AI科技大本营投稿文章,载请微信联系 1092722531


精彩推荐



640?wx_fmt=png

推荐阅读

  • 有了这套模板,再不担心刷不动LeetCode了

  • Google图嵌入工业界最新大招,高效解决训练大规模深度图卷积神经网络问题

  • Python可视化解析MCMC

  • 爬取B站视频排名第一《祖国大好河山》1W+弹幕,得出一份词频词云图

  • 技术领域有哪些接地气又好玩的应用?

  • Python新工具:用三行代码提取PDF表格数据

  • 国产嵌入式操作系统发展思考

  • 2019 年诺贝尔物理学奖揭晓!三得主让宇宙“彻底改观”

  • 公链故事难再续?

640?wx_fmt=png

你点的每个“在看”,我都认真当成了AI

相关文章:

C++11中enum class的使用

枚举类型(enumeration)使我们可以将一组整型常量组织在一起。和类一样,每个枚举类型定义了一种新的类型。枚举属于字面值常量类型。 C包含两种枚举:限定作用域的和不限定作用域的。这里主要介绍限定作用域的。不限定作用域的使用可以参考: ht…

Windows下Mysql主从配置(Mysql5.5)

主数据库IP:192.168.3.169从数据库IP:192.168.3.34主数据库配置my.inin:在[mysqld]下添加配置数据:server-id1 #配一个唯一的ID编号,1至32。log-binmysql-bin #二进制文件存放路径#设置要进行或不要进行主从复制的数据库名,同…

K-最近邻法(KNN) C++实现

关于KNN的介绍可以参考: http://blog.csdn.net/fengbingchun/article/details/78464169 这里给出KNN的C实现,用于分类。训练数据和测试数据均来自MNIST,关于MNIST的介绍可以参考: http://blog.csdn.net/fengbingchun/article/deta…

AI大佬“互怼”:Bengio和Gary Marcus隔空对谈深度学习发展现状

编译 | AI科技大本营编辑部出品 | AI科技大本营(ID:rgznai100)去年以来,由于纽约大学教授 Gary Marcus 对深度学习批评,导致他在社交媒体上与许多知名的 AI 研究人员如 Facebook 首席 AI 科学家 Yann LeCun 进行了一场论战。不止 …

Centos7多内核情况下修改默认启动内核方法

1.1 进入grub.cfg配置文件存放目录/boot/grub2/并备份grub.cfg配置文件 [rootlinux-node1 ~]# cd /boot/grub2/ [rootlinux-node1 grub2]# cp -p grub.cfg grub.cfg.bak [rootlinux-node1 grub2]# ls -ld grub.cfg* -rw-r--r--. 1 root root 5162 Aug 11 2018 grub.cfg -rw-r…

TensorRT Samples: MNIST

关于TensorRT的介绍可以参考: http://blog.csdn.net/fengbingchun/article/details/78469551以下是参考TensorRT 2.1.2中的sampleMNIST.cpp文件改写的实现对手写数字0-9识别的测试代码,各个文件内容如下:common.hpp:#ifndef FBC_TENSORRT_TE…

网红“AI大佬”被爆论文剽窃,Jeff Dean都看不下去了

作者 | 夕颜、Just出品 | AI科技大本营(ID:rgznai100)【导读】近日,推特上一篇揭露 YouTube 网红老师 Siraj Raval 新发表论文涉抄袭其他学者的帖子引起了讨论。揭露者是曼彻斯特大学计算机科学系研究员 Andrew M. Webb,他在 Twit…

数位dp(求1-n中数字1出现的个数)

题意:求1-n的n个数字中1出现的个数。 解法:数位dp,dp[pre][now][equa] 记录着第pre位为now,equa表示前边是否有降数字(即后边可不能够任意取,true为没降,true为已降);常规的记忆化搜…

TensorRT Samples: MNIST API

关于TensorRT的介绍可以参考: http://blog.csdn.net/fengbingchun/article/details/78469551 以下是参考TensorRT 2.1.2中的sampleMNISTAPI.cpp文件改写的实现对手写数字0-9识别的测试代码,各个文件内容如下:common.hpp:#ifndef FBC_TENSORR…

免费学习AI公开课:打卡、冲击排行榜,还有福利领取

CSDN 技术公开课 Plus--AI公开课再度升级内容全新策划:贴近开发者,更多样、更落地形式多样升级:线上线下、打卡学习,资料福利,共同交流成长,扫描下方小助手二维码,回复:公开课&#…

Gamma阶段第一次scrum meeting

每日任务内容 队员昨日完成任务明日要完成的任务张圆宁#91 用户体验与优化:发现用户体验细节问题https://github.com/rRetr0Git/rateMyCourse/issues/91#91 用户体验与优化:发现并优化用户体验,修复问题https://github.com/rRetr0Git/rateMyC…

windows 切换 默认 jdk 版本

set JAVA_HOMEC:\jdk1.6.0u24 set PATH%JAVA_HOME%\bin;%PATH%转载于:https://www.cnblogs.com/dmdj/p/3756887.html

TensorRT Samples: GoogleNet

关于TensorRT的介绍可以参考&#xff1a; http://blog.csdn.net/fengbingchun/article/details/78469551 以下是参考TensorRT 2.1.2中的sampleGoogleNet.cpp文件改写的测试代码&#xff0c;文件(googlenet.cpp)内容如下&#xff1a;#include <iostream> #include <t…

Visual Studio Code Go 插件文档翻译

此插件为 Go 语言在 VS Code 中开发提供了多种语言支持。 阅读版本变更日志了解此插件过去几个版本的更改内容。 1. 语言功能 (Language Features) 1.1 智能感知 (IntelliSense) 编码时符号自动补全&#xff08;使用 gocode &#xff09;编码时函数签名帮助提示&#xff08;使用…

资源 | 吴恩达《机器学习训练秘籍》中文版58章节完整开源

整理 | Jane出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;一年前&#xff0c;吴恩达老师的《Machine Learning Yearning》(机器学习训练秘籍&#xff09;中文版正式发布&#xff0c;经过一年多的陆续更新&#xff0c;近日&#xff0c;这本书的中文版 58…

js字符串加密的几种方法

在做web前端的时候免不了要用javascript来处理一些简单操作&#xff0c;其实如果要用好JQuery, Prototype,Dojo 等其中一两个javascript框架并不简单&#xff0c;它提高你的web交互和用户体验&#xff0c;从而能使你的web前端有非一样的感觉&#xff0c;如海阔凭鱼跃。当然&…

Vue开发入门看这篇文章就够了

摘要&#xff1a; 很多值得了解的细节。 原文&#xff1a;Vue开发看这篇文章就够了作者&#xff1a;RandomFundebug经授权转载&#xff0c;版权归原作者所有。 介绍 Vue 中文网Vue githubVue.js 是一套构建用户界面(UI)的渐进式JavaScript框架库和框架的区别 我们所说的前端框架…

TensorRT Samples: CharRNN

关于TensorRT的介绍可以参考&#xff1a; http://blog.csdn.net/fengbingchun/article/details/78469551 以下是参考TensorRT 2.1.2中的sampleCharRNN.cpp文件改写的测试代码&#xff0c;文件(charrnn.cpp)内容如下&#xff1a;#include <assert.h> #include <str…

Python脚本BUG引发学界震动,影响有多大?

作者 | beyondma编辑 | Jane来源 | CSDN博客近日一篇“A guide to small-molecule structure assignment through computation of (1H and 13C) NMR chemical shifts”文章火爆网络&#xff0c;据作者看到的资料上看这篇论文自身的结果没有什么问题&#xff0c;但是&#xff0c…

C++中public、protect和private用法区别

Calsspig : public animal,意思是外部代码可以随意访问 Classpig : protect animal ,意思是外部代码无法通过该子类访问基类中的public Classpig : private animal ,意思是告诉编译器从基类继承的每一个成员都当成private,即只有这个子类可以访问 转载于:https://blog.51cto.…

TensorRT Samples: MNIST(Plugin, add a custom layer)

关于TensorRT的介绍可以参考&#xff1a;http://blog.csdn.net/fengbingchun/article/details/78469551 以下是参考TensorRT 2.1.2中的samplePlugin.cpp文件改写的通过IPlugin添加一个全连接层实现对手写数字0-9识别的测试代码&#xff0c;plugin.cpp文件内容如下&#xff1a…

AutoML很火,过度吹捧的结果?

作者 | Denis Vorotyntsev译者 | Shawnice编辑 | Jane出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;【导语】现在&#xff0c;很多企业都很关注AutoML领域&#xff0c;很多开发者也开始接触和从事AutoML相关的研究与应用工作&#xff0c;作者也是&#…

tomcat6 配置web管理端访问权限

配置tomcat 管理端登陆 /apache-tomcat-6.0.35/conf/tomcat-users.xml 配置文件&#xff0c;使用时需要把注释去掉<!-- <!-- <role rolename"tomcat"/> <role rolename"role1"/> <user username"tomcat" password"…

@程序员:Python 3.8正式发布,重要新功能都在这里

整理 | Jane、夕颜出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;【导读】最新版本的Python发布了&#xff01;今年夏天&#xff0c;Python 3.8发布beta版本&#xff0c;但在2019年10月14日&#xff0c;第一个正式版本已准备就绪。现在&#xff0c;我们都…

TensorRT Samples: MNIST(serialize TensorRT model)

关于TensorRT的介绍可以参考&#xff1a; http://blog.csdn.net/fengbingchun/article/details/78469551 这里实现在构建阶段将TensorRT model序列化存到本地文件&#xff0c;然后在部署阶段直接load TensorRT model序列化的文件进行推理&#xff0c;mnist_infer.cpp文件内容…

【mysql错误】用as别名 做where条件,报未知的列 1054 - Unknown column 'name111' in 'field list'...

需求&#xff1a;SELECT a AS b WHRER b1; //这样使用会报错&#xff0c;说b不存在。 因为mysql底层跑SQL语句时&#xff1a;where 后的筛选条件在先&#xff0c; as B的别名在后。所以机器看到where 后的别名是不认的&#xff0c;所以会报说B不存在。 这个b只是字段a查询结…

C++2年经验

网络 sql 基础算法 最多到图和树 常用的几种设计模式&#xff0c;5以内即可转载于:https://www.cnblogs.com/liujin2012/p/3766106.html

在Caffe中调用TensorRT提供的MNIST model

在TensorRT 2.1.2中提供了MNIST的model&#xff0c;这里拿来用Caffe的代码调用实现&#xff0c;原始的mnist_mean.binaryproto文件调整为了纯二进制文件mnist_tensorrt_mean.binary&#xff0c;测试结果与使用TensorRT调用(http://blog.csdn.net/fengbingchun/article/details/…

142页ICML会议强化学习笔记整理,值得细读

作者 | David Abel编辑 | DeepRL来源 | 深度强化学习实验室&#xff08;ID: Deep-RL&#xff09;ICML 是 International Conference on Machine Learning的缩写&#xff0c;即国际机器学习大会。ICML如今已发展为由国际机器学习学会&#xff08;IMLS&#xff09;主办的年度机器…

CF1148F - Foo Fighters

CF1148F - Foo Fighters 题意&#xff1a;你有n个物品&#xff0c;每个都有val和mask。 你要选择一个数s&#xff0c;如果一个物品的mask & s含有奇数个1&#xff0c;就把val变成-val。 求一个s使得val总和变号。 解&#xff1a;分步来做。发现那个奇数个1可以变成&#x…