python中的主成分分析实例
主成分分析(Principal Component Analysis,PCA)是一种常用于数据降维的方法,可以将高维度数据降维至低维度,保留尽可能多的数据变异信息。Python提供了许多用于实现PCA的库和工具,本文就通过一个实例来介绍如何使用Python中的sklearn库实现PCA。
首先,我们需要准备一个数据集。本文将使用Iris数据集,该数据集包含150条样本数据,每个样本都有4个特征值(花萼的长度和宽度、花瓣的长度和宽度),以及一个标签(鸢尾花的类型)。我们的目标是将这4个特征进行降维,找到最重要的主成分。
首先,我们需要导入必要的库和数据集。
from sklearn.datasets import load_irisfrom sklearn.decomposition import PCAimport matplotlib.pyplot as pltiris = load_iris()X = iris.datay = iris.target
登录后复制
现在我们可以创建一个PCA对象并应用它。
立即学习“Python免费学习笔记(深入)”;
pca = PCA(n_components=2)X_pca = pca.fit_transform(X)
登录后复制
这里的PCA对象设置n_components=2,表示我们只想在二维平面上展示我们处理后的数据。我们将fit_transform应用于原始数据X,获取处理后的数据集X_pca。
现在我们可以绘制结果图。
plt.scatter(X_pca[:, 0], X_pca[:, 1], c=y)plt.xlabel('Component 1')plt.ylabel('Component 2')plt.show()
登录后复制
在这个图中,我们可以看到Iris数据集在降维后的二维空间中的分布。每个点都表示一个鸢尾花的样本,颜色表示鸢尾花的类型。
现在让我们看看主成分应该是什么。
print(pca.components_)
登录后复制
这会输出两个向量,分别称为“成分1”和“成分2”。
[[ 0.36158968 -0.08226889 0.85657211 0.35884393]
[-0.65653988 -0.72971237 0.1757674 0.07470647]]
每个元素表示原始数据中的一个特征的权重。换句话说,我们可以将主成分看作是用于线性组合原始特征的向量。结果中的每个向量都是一个单位向量。
我们也可以查看每个成分解释的数据方差量。
print(pca.explained_variance_ratio_)
登录后复制
这个输出会显示每个成分解释的数据方差量的比例。
[0.92461621 0.05301557]
我们可以看到,这两个成分总共解释了数据中94%的方差量。这意味着我们可以非常准确地捕捉数据的特征。
有一件事需要注意,PCA会将所有特征从原始数据中都删除。因此,如果我们需要保留某些特征,我们需要在应用PCA之前手动删除它们。
这就是如何使用Python中的sklearn库实现PCA的实例。PCA可应用于所有类型的数据,帮助我们从高维度数据中发现最重要的成分。如果您可以理解本文中的代码,你也就会有能力在您自己的数据集上应用PCA了。
以上就是Python中的主成分分析实例的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2233789.html