为什么需要降维
- 数据的维度过高,需要存储数据的空间非常大,降维可以降低数据存储所需的空间;
- 数据的维数过高,某些算法的时间复杂度很高,降维到较小的维数可以缓解计算/训练时间,而且有些算法因为数据的维度过高,不能执行,需要降维处理使算法work;
- 数据中通常可能存在一些冗余特征,降维可以消除这些冗余特征。因为数据中的某些特征本身就互相关联,只需要知道它们中的一种特征即可。因此,全部存储没有意义,反而消耗存储空间,因为它们中只需要一个就能符合你的要求;
- 降维有助于可视化数据。很难以更高的维度可视化数据,因此将空间缩小到2D或3D可以让我们更清楚地绘制和观察模式。
降维是什么
若原特征空间是维的,现希望降至维
降维和特征选择
- 只保留最相关的变量从原始数据集,这种技术被称为特征选择;
- 通过找到一组较小的新变量,每个变量都是输入变量的组合,包含与输入变量基本相同的信息,这种技术称为降维。
从字面意义上看,降维和特征选择都可以看作降维。
分类
降维方法分为线性和非线性降维,非线性降维又分为基于核函数和基于特征值的方法。
1、线性降维方法:
PCA 、ICA LDA、LFA、LPP(LE的线性表示)
2、非线性降维方法:
(1)基于核函数的非线性降维方法:KPCA 、KICA、KDA
(2)基于特征值的非线性降维方法(流型学习):ISOMAP、LLE、LE、LPP、LTSA、MVU
具体的降维方法以及代码实现网上有很多,请看推荐阅读部分!
推荐阅读
降维方法 -简直太全!- 附Python代码(Random Forest、Factor Analysis、corr、PCA、ICA、IOSMA