首页 > 分享 > 鸢尾花数据集上的主成分分析 (PCA) — scikit

鸢尾花数据集上的主成分分析 (PCA) — scikit

注意

转到结尾 下载完整的示例代码。或通过 JupyterLite 或 Binder 在浏览器中运行此示例

此示例展示了在 鸢尾花数据集 上使用的一种著名的分解技术,称为主成分分析 (PCA)。

此数据集包含 4 个特征:萼片长度、萼片宽度、花瓣长度、花瓣宽度。我们使用 PCA 将这个 4 维特征空间投影到 3 维空间。

# Authors: The scikit-learn developers # SPDX-License-Identifier: BSD-3-Clause

加载鸢尾花数据集#

鸢尾花数据集直接作为 scikit-learn 的一部分提供。可以使用 load_iris 函数加载它。使用默认参数,将返回一个 Bunch 对象,其中包含数据、目标值、特征名称和目标名称。

dict_keys(['data', 'target', 'frame', 'target_names', 'DESCR', 'feature_names', 'filename', 'data_module'])

鸢尾花数据集特征对的绘图#

让我们首先绘制鸢尾花数据集的特征对。

import seaborn as sns # Rename classes using the iris target names iris.frame["target"] = iris.target_names[iris.target] _ = sns.pairplot(iris.frame, hue="target") plot pca iris

每个散点图上的每个数据点都指代数据集中的 150 朵鸢尾花之一,颜色表示它们各自的类型(Setosa、Versicolor 和 Virginica)。

你已经可以看到关于 Setosa 类型的模式,它很容易根据其短而宽的萼片识别出来。仅考虑这两个维度(萼片宽度和长度),Versicolor 和 Virginica 类型之间仍然存在重叠。

图的对角线显示了每个特征的分布。我们观察到花瓣宽度和花瓣长度是三种类型最具区分度的特征。

绘制 PCA 表示#

让我们将主成分分析 (PCA) 应用于鸢尾花数据集,然后绘制前三个 PCA 维度上的鸢尾花。这将使我们能够更好地区分这三种类型!

import matplotlib.pyplot as plt # unused but required import for doing 3d projections with matplotlib < 3.2 import mpl_toolkits.mplot3d # noqa: F401 from sklearn.decomposition import PCA fig = plt.figure(1, figsize=(8, 6)) ax = fig.add_subplot(111, projection="3d", elev=-150, azim=110) X_reduced = PCA(n_components=3).fit_transform(iris.data) scatter = ax.scatter( X_reduced[:, 0], X_reduced[:, 1], X_reduced[:, 2], c=iris.target, s=40, ) ax.set( title="First three PCA dimensions", xlabel="1st Eigenvector", ylabel="2nd Eigenvector", zlabel="3rd Eigenvector", ) ax.xaxis.set_ticklabels([]) ax.yaxis.set_ticklabels([]) ax.zaxis.set_ticklabels([]) # Add a legend legend1 = ax.legend( scatter.legend_elements()[0], iris.target_names.tolist(), loc="upper right", title="Classes", ) ax.add_artist(legend1) plt.show() First three PCA dimensions

PCA 将创建 3 个新特征,它们是 4 个原始特征的线性组合。此外,此变换使方差最大化。通过这种变换,我们看到我们只需要使用第一个特征(即第一个特征向量)就可以识别每个物种。

脚本总运行时间:(0 分钟 2.878 秒)

相关示例

由 Sphinx-Gallery 生成的图库

相关知识

鸢尾花数据集 — scikit
利用PCA(主成分分析法)实现鸢尾花数据集的分类
主成分分析:PCA的思想及鸢尾花实例实现
鸢尾花数据集降维可视化
鸢尾花数据集分析
计算方法实验6:对鸢尾花数据集进行主成分分析(PCA)并可视化
基于PCA的数据降维(鸢尾花(iris)数据集)
鸢尾花数据集在机器学习中的应用与分析
基于PCA与LDA的数据降维实践
机器学习(三)降维之PCA及鸢尾花降维

网址: 鸢尾花数据集上的主成分分析 (PCA) — scikit https://m.huajiangbk.com/newsview1545169.html

所属分类:花卉
上一篇: 多样化记账App告诉你:自己的钱
下一篇: 花了一天时间,把图表编辑器开源了