仅用于个人学习
前言
在进行数据挖掘或者机器学习时,我们面临的数据往往是高维数据。相较于低维数据,高维数据为我们提供了更多的信息和细节,也更好的描述了样本;但同时,很多高效且准确的分析方法也将无法使用。处理高维数据和高维数据可视化是数据科学家们必不可少的技能。解决这个问题的方法便是降低数据的维度。在数据降维时,要使用尽量少的维度来表达较多原数据的特性和结构。
什么是PCA
主成分分析(Principal Component Analysis, PCA)是一种线性降维算法,也是一种常用的数据预处理(Pre-Processing)方法。它的目标是是用方差(Variance)来衡量数据的差异性,并将差异性较大的高维数据投影到低维空间中进行表示。绝大多数情况下,我们希望获得两个主成分因子:分别是从数据差异性最大和次大的方向提取出来的,称为PC1(Principal Component 1) 和 PC2(Principal Component 2)。
作用:
1.数据降维:PCA可以将高维数据转化为低维数据,去除冗余的特征,减少数据的维度。这有助于简化问题,降低计算复杂度,并且可以减少存储和传输的成本。
2.特征选择:通过PCA,可以选择最具代表性的主成分作为新的特征,去除对问题不重要的特征。这有助于提高模型的性能,减少模型训练的时间和资源消耗。
3.数据可视化:降维后的数据可以用二维或三维图形展示,便于可视化和理解。通过观察数据在不同主成分上的投影,可以发现数据的分布、聚类和异常点等信息。
4.去除噪声和冗余信息:PCA可以提取出最具代表性的特征,去除冗余信息和噪声。这有助于提高模型的泛化能力,减少过拟合的风险。
5.数据预处理:在某些机器学习算法中,数据预处理是必要的步骤。PCA可以用于数据降维和去除冗余特征,为后续算法提供更好的输入。
总而言之,主成分分析在数据处理和特征工程中起着重要的作用,可以帮助我们理解数据、简化问题、提高模型性能,并为后续的分析和建模提供更好的数据基础。
相关面试题:
PCA视频讲解:
用最直观的方式告诉你:什么是主成分分析PCA_哔哩哔哩_bilibili
优缺点:
优点:
1.维度降低:PCA可以将原始数据高维度的特征转化为较低维度的特征,减少特征数量,简化问题。
2.数据可视化:通过PCA降维后的特征,可以用二维或三维的图形展示数据,便于可视化和理解。
3.去除冗余信息:PCA可以从原始数据中提取出最具代表性的特征,去除冗余信息和噪声,提高模型的泛化能力。
4.探索数据结构:PCA可以帮助发现数据中的隐藏结构和模式,有助于进一步分析和理解数据。
缺点:
1.数据相关性:PCA假设数据是线性相关的,对于非线性关系较强的数据表现较差。
2.信息损失:降维会导致部分信息的损失,可能丢失一些对问题重要的细节。
3.特征解释性:PCA得到的新特征是原始特征的线性组合,不一定具有直观的解释性。
4.敏感性:PCA对异常值敏感,如果存在异常值,可能会影响结果的准确性。