Sklearn中主成分分析(PCA)在Iris数据集上的应用

发布时间:2025-05-13 18:13

参加数据分析认证,如数据分析上岗证或数据分析师证书 #生活技巧# #工作学习技巧# #技能培训认证#

iris数据集

iris数据集从sklearn中获取,其csv文件地址...\Lib\site-packages\sklearn\datasets\data\iris.csv

最初接触主成分分析是在数学建模中,旨在以较少的新指标来替换原来较多的旧指标,换句话说就是对高维空间进行降维处理。

Iris数据集是常用的分类实验数据集,包括150个样本,分为3类(Setosa,Versicolour,Virginica)。每个样本包括花萼长度,花萼宽度,花瓣长度,花瓣宽度4个特征。由于样本特征已经属于高维数据,不便以图解形式分类。为了直观上对3种鸢尾花的分类有一个感性的认识,我们可以通过PCA降维处理,使其样本只包含两个新特征。

函数原型及主要参数说明

class sklearn.decomposition.PCA(n_components=None)

参数说明:

 n_components : 类型:int, float, None or string

                            含义:所要保留的主成分个数(Number of components to keep)。

函数方法

fit_transform(self, X, y=None)

参数说明:

X:训练数据X_train,并且X_train.shape(n_samples, n_features)(注:n_features为原样本的特征个数)

y : Ignored.

返回:

 X_new : X_new.shape (n_samples, n_components )(注:n_components为设置保留的主成分个数)

应用

直接附上基于python的代码。

from sklearn.datasets import load_iris

from sklearn.decomposition import PCA

import matplotlib.pyplot as plt

import numpy as np

iris=load_iris()

pca=PCA(n_components=2)

trans_data=pca.fit_transform(iris.data)

index1=np.where(iris.target==0)

index2=np.where(iris.target==1)

index3=np.where(iris.target==2)

labels=['setosa', 'versicolor', 'virginica']

plt.plot(trans_data[index1][:,0],trans_data[index1][:,1],'r*')

plt.plot(trans_data[index2][:,0],trans_data[index2][:,1],'g*')

plt.plot(trans_data[index3][:,0],trans_data[index3][:,1],'b*')

plt.legend(labels)

plt.show()

最后附上效果图,可以发现通过PCA降维处理能直观上对数据进行分类,并且在Iris数据集上有较好的体现。

网址:Sklearn中主成分分析(PCA)在Iris数据集上的应用 https://www.yuejiaxmz.com/news/view/963567

相关内容

PCA (主成分分析)详解 (写给初学者) 结合matlab
数据分享|R语言、SPSS基于主成分PCA的中国城镇居民消费结构研究可视化分析
【sklearn
人工智能与大数据分析的实例研究
生活中数据分析应用案例分享,生活中数据分析应用案例
数据分析在生活中的新应用
巨细!一文告诉你数据分析不得不知的秘密!
生活中数据分析应用案例分享,数据分析在生活中的奇妙应用,揭秘日常生活中的数据魔法
生活中的数据分析案例,生活中数据分析应用案例
AI技术在大数据分析中的应用.pptx

随便看看