PCA主成分分析处理鸢尾花数据(python)

该博客展示了如何通过Python实现主成分分析(PCA)来对数据进行预处理,以降低其维度。首先读取鸢尾花数据集,计算数据的均值并移除,然后求协方差矩阵,接着计算特征值和特征向量,选取最大的两个特征值对应的特征向量进行降维操作。最后,计算累计方差贡献率以验证降维的有效性。

完整代码:

import numpy as np
import pandas as pd


data = pd.read_csv("C:\\Users\\Administrator\\Desktop\\iris.csv",header=None) 
#data=np.array(data)
data=data[[0,1,2,3]]
mean_data=np.mean(data,axis=0)
meanRemoved = data - mean_data   #去中心
covdata = np.cov(meanRemoved, rowvar=0) #求协方差矩阵
eigVals,eigVets=np.linalg.eig(np.mat(covdata)) #求解特征值和特征矩阵
eigValInd = np.argsort(eigVals)     #排序
eigValInd = eigValInd[:-(3+1):-1]   #保留最大的前2个特征值
redEigVects = eigVets[:,eigValInd]        #获得对应的特征向量
lowDData = np.mat(meanRemoved) * redEigVects   #获得获得降维后的特征

print("原数据集",meanRemoved)
print("降维后的数据集",lowDData)
print("累计方差贡献率为95%")
tot=sum(eigVals)
varExp=[(redEigVects/tot)*95 for redEigVects in sorted(eigVals,reverse=True)]
print(varExp)
cum_var_exp=np.cumsum(varExp)
print(cum_var_exp)
Python鸢尾花数据集可视化PCA主成分分析是一种常用的数据分析方法,可以帮助我们理解数据集的结构和分类情况。 首先,我们需要导入相关的Python库,如numpy、pandas和matplotlib。然后,我们可以使用pandas库中的read_csv方法读取鸢尾花数据集的CSV文件,并将数据存储为一个DataFrame对象。 接下来,我们可以使用sklearn库中的PCA类来进行主成分分析。首先,我们需要对数据进行标准化处理,即将数据的均值调整为0、方差调整为1。然后,我们可以创建一个PCA对象,并将数据传递给它的fit_transform方法进行主成分分析主成分分析会将数据转换为新的坐标系,其中每个维度代表数据在原坐标系中的一个特征。我们可以通过PCA对象的explained_variance_ratio_属性来获取每个主成分对应的方差比例,从而了解每个主成分的重要性。 为了可视化主成分分析的结果,我们可以创建一个二维散点图,其中x轴和y轴分别代表前两个主成分。我们可以使用Matplotlib中的scatter函数绘制不同类别的数据点,并使用不同颜色或形状进行区分。 此外,我们还可以通过绘制累积方差比例图来了解所选择的主成分数量是否足够解释原始数据的方差。该图可通过累积explained_variance_ratio_属性的值进行绘制。 总的来说,Python鸢尾花数据集可视化PCA主成分分析是一种有效的数据分析方法,可以帮助我们更好地理解数据集的结构和分类情况。它不仅可以帮助我们发现数据中隐藏的规律和趋势,还可以帮助我们对数据进行更好的预测和决策。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值