- 数据降维就是一种对高维度特征数据预处理方法。降维是将高维度的数据保留下最重要的一些特征,去除噪声和不重要的特征,从而实现提升数据处理速度的目的。
- PCA算法有两种实现方法:
- 基于特征值分解协方差矩阵实现PCA算法
- 基于SVD分解协方差矩阵实现PCA算法
from sklearn.decomposition import PCA
pca = PCA(n_components= 2)
X_pca = pca.fit_transform(X)
- LDA线性判别分析也是一种经典的降维方法,LDA是一种监督学习的降维技术,也就是说它的数据集的每个样本是有类别输出的。这点和PCA不同。PCA是不考虑样本类别输出的无监督降维技术。LDA的思想可以用一句话概括,就是“投影后类内方差最小,类间方差最大”。什么意思呢? 我们要将数据在低维度上进行投影,投影后希望每一种类别数据的投影点尽可能的接近,而不同类别的数据的类别中心之间的距离尽可能的大。
- NMF非负矩阵分解: NMF的基本思想可以简单描述为:对于任意给定的一个非负矩阵A,NMF算法能够寻找到一个非负矩阵U和一个非负矩阵V,使得满足 ,从而将一个非负的矩阵分解为左右两个非负矩阵的乘积。
from sklearn.decomposition import NMF
nmf = NMF(n_components=2,init = 'nndsvda',max_iter=1000)
# 降维之后的数据
W = nmf.fit_transform(X)
-
LLE局部线性嵌入降维算法: 在处理所谓流形降维的时候,效果比PCA要好很多。首先,所谓流形,我们脑海里最直观的印象就是Swiss roll,在吃它的时候喜欢把它整个摊开成一张饼再吃,其实这个过程就实现了对瑞士卷的降维操作,即从三维降到了两维。
from sklearn.manifold import LocallyLinearEmbedding
lle = LocallyLinearEmbedding(n_neighbors=10,n_components=2)
lle.fit(X)
数据降维简介: 降维就是一种对高维度特征数据预处理方法。降维是将高维度的数据保留下最重要的一些特征,去除噪声和不重要的特征,从而实现提升数据处理速度的目的。
降维算法优点
- 减少所需的存储空间。
- 加快计算速度(例如在机器学习算法中),更少的维数意味着更少的计算,并且更少的维数可以允许使用不适合大量维数的算法。
- 去除冗余特征,例如在以平方米和平方公里在存储地形尺寸方面,两者一起用没有意义(数据收集有缺陷)。
- 将数据的维数降低到2D或3D可以允许我们绘制和可视化它,可能观察模式,给我们提供直观感受。
- 太多的特征或太复杂的模型可以导致过拟合。
- 较简单的模型在小数据集上有更强的鲁棒性。
一 降维算法适用性
在许多领域的研究与应用中,通常需要对含有多个变量的数据进行观测,收集大量数据后进行分析研究寻找规律。多变量大数据集无疑会为研究和应用提供丰富的信息,但是也在一定程度上增加了数据采集的工作量。更重要的是在很多情形下,多变量之间可能存在相关性,从而增加了问题分析的复杂性。如果分别对每个指标进行分析,分析往往是孤立的,不能完全利用数据中的信息,因此盲目减少指标会损失很多有用的信息,从而产生错误的结论。
因此需要找到一种合理的方法,在减少需要分析的指标同时,尽量减少原指标包含信息的损失

本文介绍了数据降维的重要性和目的,包括PCA(主成分分析)、LDA(线性判别分析)、NMF(非负矩阵分解)以及LLE(局部线性嵌入)等方法。PCA通过特征值分解实现,旨在最大化方差并去除噪声;LDA是一种监督学习的降维技术,聚焦于类间方差最大化;NMF用于非负数据的分解;LLE则在保持数据局部线性特征的同时进行降维。这些技术在高维数据处理、可视化和模式识别中有广泛应用。
最低0.47元/天 解锁文章
411

被折叠的 条评论
为什么被折叠?



