除了PCA,还有什么降维的方法?

  统计/机器学习 数据降维 特征选择 开放问题    浏览次数:12861        分享
16

才疏学浅,平时只用过PCA降维,大家还有什么其他的降维方法吗?

 

TheOne   2017-03-30 13:26



   11个回答 
30

1. High Correlation

如果两个feature的correlation大于某个阈值(自己设定的,比如0.3),就删掉其中一个。

2. Low variance

如果一个feature的数据方差小于某个阈值(自己设定),就把它删掉。

3. Missing

如果这一列有很多missing,就把它删掉。

4. Random Forests

Random Forests训练之后,可以返回所有特征的重要性,我们可以选择重要性最高的一部分特征,比如20%。

5. Stepwise selection

逐步选择特征,可以向前选择,也可以向后消去。

6. Random Projection

类似于PCA,但是这个投影是随机的,而非像PCA那样是正交的。

7. AutoEncoder

类似于word2vec,我们只提取神经网络的中间层的结果作为降维的结果,当激活函数都是线性时,效果与PCA相似。

SofaSofa数据科学社区DS面试题库 DS面经

雷猴   2017-04-04 10:26

有具体介绍Random Projection的资料吗? - DeGang   2017-06-04 12:40
13

如果你有response的话,还可以用partial least square. https://en.wikipedia.org/wiki/Partial_least_squares_regression

然后其他的降维算法可以参考scikit-learn的roadmap : http://scikit-learn.org/stable/tutorial/machine_learning_map/

SofaSofa数据科学社区DS面试题库 DS面经

statsNerd   2017-04-01 15:21

12

还有t-SNE

SofaSofa数据科学社区DS面试题库 DS面经

sasa   2017-04-19 13:23

6

补充一下,还有feature hashing

SofaSofa数据科学社区DS面试题库 DS面经

雕牌   2017-04-04 10:43

这个只适用于OneHotEncoding后的压缩吧 - 阿诺666   2017-04-13 03:45
我觉得是的 - 黄前志   2017-04-13 09:54
5

自编码器

SofaSofa数据科学社区DS面试题库 DS面经

年轻人   2017-11-12 18:12

这个应该只能用在神经网络上吧 - 道画师   2017-11-14 01:36
Autoencoder是神经网络,但是输出的降维结果也可以用在其他模型上 - sasa   2018-03-03 07:00
2
Regularized RegressionSofaSofa数据科学社区DS面试题库 DS面经

frequently_yawning_inside   2018-03-03 06:48

$L_0$或者$L_1$的应该可以做到降维。$L_2$应该就不行了。 - sasa   2018-03-03 07:01
1

流形学习里有一些降维方法,比如PCA和Multidimensional scaling (MDS,多为尺度)。

SofaSofa数据科学社区DS面试题库 DS面经

蘑菇蘑菇   2018-11-28 16:12

1

线性判别分析:

PCA(主成分分析)和LDA(线性判别分析)有很多的相似点,其本质是要将初始样本映射到维度更低的样本空间中,但是PCA和LDA的映射目标不一样:PCA是为了让映射后的样本具有最大的发散性;而LDA是为了让映射后的样本有最好的分类性能。所以说PCA是一种无监督的降维方法,而LDA是一种有监督的降维方法。

推荐学习链接:https://www.zhihu.com/people/wang-he-13-93/posts


SofaSofa数据科学社区DS面试题库 DS面经

betten   2018-03-04 16:17

0

卷积算吗

SofaSofa数据科学社区DS面试题库 DS面经

大川无敌   2017-11-07 19:36

0
  • PCA
  • LDA
  • SVD
SofaSofa数据科学社区DS面试题库 DS面经

dzzxjl   2018-03-05 21:38

SVD不就是PCA降维?SVD是实现PCA的方法吧 - yayat   2018-03-05 21:45
恩,之前的理解存在问题,谢谢提醒 - dzzxjl   2018-03-06 13:12
0

autoencoder,其实pca也算是autoencoder的一种特殊情况吧

SofaSofa数据科学社区DS面试题库 DS面经

okayguy   2018-07-15 13:08



  相关讨论

利用PCA降维,降到几维比较合适?

一个关于PCA与eigenvector的问题

PCA降维中的特征值和特征向量

用pca对数据集降维时为什么一定要训练集和测试集?

Truncated SVD和PCA有什么区别吗?

为什么PCA被称作非监督式学习?

PCA降维之前为什么要先标准化?

PCA算法是一种保距算法吗?

主成分分析法(PCA)算是黑盒算法吗?

PCA会降低分类器的精度吗?

  随便看看

python里清除已经定义过的变量

pandas读取csv中指定的某些列

怎么给plt.subplot加一个主标题?

Data Application Lab怎么样?

随机森林(random forest)和支持向量机(SVM)各有什么优劣