网上关于各种降维算法的资料参差不齐,同时大部分不提供源代码;在此通过借鉴资料实现了一些经典降维算法的Demo(python),同时也给出了参考资料的链接。
降维算法 | 资料链接 | 代码 | 展示 |
---|---|---|---|
PCA | 资料链接1 资料链接2 资料链接3 | PCA | |
KPCA | 资料链接1 资料链接2 资料链接3 | KPCA | |
LDA | 资料链接1 资料链接2 | LDA | |
MDS | 资料链接1 | MDS | |
ISOMAP | 资料链接1 资料链接2 | ISOMAP | |
LLE | 资料链接1 资料链接2 | LLE | |
TSNE | 资料链接1 | TSNE | |
AutoEncoder | 无 | ||
FastICA | 资料链接1 | FastICA | |
SVD | 资料链接1 资料链接2 | SVD | |
LE | 资料链接1资料链接2 | LE | |
LPP | 资料链接1 资料链接2 | LPP |
环境: python3.6 ubuntu18.04(windows10)
需要的库: numpy sklearn tensorflow matplotlib
- 每一个代码都可以单独运行,但是只是作为一个demo,仅供学习使用
- 其中AutoEncoder只是使用AutoEncoder简单的实现了一个PCA降维算法,自编码器涉及到了深度学习领域,其本身就是一个非常大领域
- LE算法的鲁棒性极差,对近邻的选择和数据分布十分敏感
- 2019.6.20添加了LPP算法,但是效果没有论文上那么好,有点迷,后续需要修改