数据降维/
sklearn | numpy | pandas
seaborn | matplotlib
数据降维
(Dimension Reduction)
What:
降维是指通过保留一些比较重要的特征,去除一些冗余的特征,减少数据特征的维度。而特征的重要性取决于该特征能够表达多少数据集的信息,也取决于使用什么方法进行降维。一般情况会先使用线性的降维方法再使用非线性的降维方法,通过结果去判断哪种方法比较合适。
降维算法一般分为两类: 1.寻求在数据中保存距离结构的:PCA、MDS等算法 2倾向于保存局部距离而不是全局距离的。t-SNE diffusion maps(UMAP)
Why:
- 数据的多重共线性:特征属性之间存在着相互关联关系。多重共线性会导致解的空间不稳定, 从而导致模型的泛化能力弱;
- 高纬空间样本具有稀疏性,导致模型比较难找到数据特征;过多的变量会妨碍模型查找规律;
- 仅仅考虑单个变量对于目标属性的影响可能忽略变量之间的潜在关系。
当数据的特征太多,无法很好地展示时,需要降维
How:
Method about Dimension Reduction
PCA
【转载】奇异值分解(SVD)计算过程示例 - marsggbo - 博客园
(10 封私信) 主成分分析(PCA)原理详解 - 知乎
KPCA
nonlinear dimensionality reduction methods (kernel principal component analysis (KPCA),
t-SNE
t-distributed Stochastic Neighbor Embedding
UMAP
UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction
下一次数学突破会在哪里? UMAP
Code about t-SNE and PCA:
1 | from sklearn.manifold import TSNE |
LDA
线性判别分析 - 维基百科,自由的百科全书
1.2. Linear and Quadratic Discriminant Analysis — scikit-learn 1.7.1 documentation
LDA 明确地尝试在不同数据类之间建立模型,而 PCA 则不考虑类别上的不同(只是在保留大部分讯息的前提下降低维度数)
相较于 PCA,LDA 是一种有监督的方法
PCA是将数据的最主要成分提取出来代替原始数据,也就是将n维特征映射到新的维度中,由k维正交特征组成的特征空间就是主成分,使用的降维方法就是投影。
LDA在线性模型中具有重要的地位,它结合了降维和分类的优点,是一种非常实用的算法。