网上关于各种降维算法的资料参差不齐,同时大部分不提供源代码;在此通过借鉴资料实现了一些经典降维算法的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算法,但是效果没有论文上那么好,有点迷,后续需要修改