数据降维/
sklearn | numpy | pandas
seaborn | matplotlib
数据降维(Dimension Reduction)
What:
降维是指通过保留一些比较重要的特征,去除一些冗余的特征,减少数据特征的维度。而特征的重要性取决于该特征能够表达多少数据集的信息,也取决于使用什么方法进行降维。一般情况会先使用线性的降维方法再使用非线性的降维方法,通过结果去判断哪种方法比较合适。
降维算法一般分为两类: 1.寻求在数据中保存距离结构的:PCA、MDS等算法 2倾向于保存局部距离而不是全局距离的。t-SNE
diffusion maps(UMAP)
Why:
- 数据的多重共线性:特征属性之间存在着相互关联关系。多重共线性会导致解的空间不稳定, 从而导致模型的泛化能力弱;
- 高纬空间样本具有稀疏性,导致模型比较难找到数据特征;过多的变量会妨碍模型查找规律;
- 仅仅考虑单个变量对于目标属性的影响可能忽略变量之间的潜在关系。
当数据的特征太多,无法很好地展示时,需要降维
How:
Method about Dimension Reduction
PCA
PCA是将数据的最主要成分提取出来代替原始数据,也就是将n维特征映射到新的维度中,由k维正交特征组成的特征空间就是主成分,使用的降维方法就是投影。
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 |