DimensionalityReductionalocodes

October 9, 2019 · View on GitHub

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

降维算法资料链接代码展示
PCA资料链接1 资料链接2 资料链接3PCAPCA
KPCA资料链接1 资料链接2 资料链接3KPCAKPCA
LDA资料链接1 资料链接2LDALDA
MDS资料链接1MDSMDS Tensor-MDS
ISOMAP资料链接1 资料链接2ISOMAPISOMAP
LLE资料链接1 资料链接2LLELLE
TSNE资料链接1TSNETSNE
AutoEncoder无 AutoEncoder
FastICA资料链接1FastICA
SVD资料链接1 资料链接2SVD
LE资料链接1资料链接2LELE
LPP资料链接1 资料链接2LPPLPP

环境: python3.6 ubuntu18.04(windows10) 需要的库: numpy sklearn tensorflow matplotlib

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