首页 分享 鸢尾花数据集降维后高维数据可视化

鸢尾花数据集降维后高维数据可视化

来源:花匠小妙招 时间:2025-01-11 22:49

重要参数n_components

鸢尾花数据集是一个四维变量,为实现其可视化,可以降维到二维。使用sklearn中的PCA实现。
代码实现:

import matplotlib.pyplot as plt from sklearn.datasets import load_iris from sklearn.decomposition import PCA iris = load_iris() y = iris.target X = iris.data X_dr = PCA(2).fit_transform(X) colors = ['red', 'black', 'orange'] plt.figure() for i in [0, 1, 2]: plt.scatter(X_dr[y == i, 0] , X_dr[y == i, 1] , alpha=.7 , c=colors[i] , label=iris.target_names[i] ) plt.legend() plt.title('PCA of IRIS dataset') plt.show()

1234567891011121314151617181920212223

在这里插入图片描述
鸢尾花的分布被展现在我们眼前了,明显这是一个分簇的分布,并且每个簇之间的分布相对比较明显,也许 versicolor和virginia这两种花之间会有一些分类错误,但setosa肯定不会被分错。这样的数据很容易分类,可以遇见,KNN,随机森林,神经网络,朴素贝叶斯,Adaboost这些分类器在鸢尾花数据集上,未调整的时候都可以有 95%上下的准确率。

探索降维后的数据

from sklearn.datasets import load_iris from sklearn.decomposition import PCA iris = load_iris() y = iris.target X = iris.data pca = PCA(2) X_dr = pca.fit_transform(X) # 属性explained_variance,查看降维后每个新特征向量上所带的信息量大小(可解释性方差的大小) print(pca.explained_variance_) # 属性explained_variance_ratio,查看降维后每个新特征向量所占的信息量占原始数据总信息量的百分比 # 又叫做可解释方差贡献率 print(pca.explained_variance_ratio_) # 大部分信息都被有效地集中在了第一个特征上 print(pca.explained_variance_ratio_.sum())

12345678910111213141516171819

选择最好的n_components:累积可解释方差贡献率曲线

当参数components中不填写任何值,则默认返回min(X.shape)个特征,一般来说,样本量都会大于特征数目,所 以什么都不填就相当于转换了新特征空间,但没有减少特征的个数。一般来说,不会使用这种输入方式。但我们却 可以使用这种输入方式来画出累计可解释方差贡献率曲线,以此选择好的n_components的整数取值。
累积可解释方差贡献率曲线是一条以降维后保留的特征个数为横坐标,降维后新特征矩阵捕捉到的可解释方差贡献 率为纵坐标的曲线,能够帮助我们决定n_components好的取值。
代码实现:

import numpy as np import matplotlib.pyplot as plt from sklearn.datasets import load_iris from sklearn.decomposition import PCA iris=load_iris() X=iris.data pca_line=PCA().fit(X) plt.plot([1,2,3,4],np.cumsum(pca_line.explained_variance_ratio_)) plt.xticks([1,2,3,4]) #这是为了限制坐标轴显示为整数 plt.xlabel("number of components after dimension reduction") plt.ylabel("cumulative explained variance") plt.show() 12345678910111213

绘制出的图像:
在这里插入图片描述
在有一个特征的时候,累计可解释方差贡献率已经达到了0.92多, 我们选择的特征数量为让我们的累积性方差突然变得平滑的转折点,本图2、3都可以。

相关知识

鸢尾花数据集降维可视化
基于PCA的数据降维(鸢尾花(iris)数据集)
基于PCA与LDA的数据降维实践
机器学习(三)降维之PCA及鸢尾花降维
鸢尾花数据集如何可视化
鸢尾花数据集的数据可视化
鸢尾花数据集,揭开数据可视化分析的奥秘
鸢尾花数据集分析
机器学习之路:经典的鸢尾花数据集
利用PCA(主成分分析法)实现鸢尾花数据集的分类

网址: 鸢尾花数据集降维后高维数据可视化 https://www.huajiangbk.com/newsview1545210.html

所属分类:花卉
上一篇: 鸢尾花数据可视化,PCA降到两维
下一篇: 神经网络实现鸢尾花分类 实验报告

推荐分享