python中PCA的实例过程讲解
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍"python中PCA的实例过程讲解",在日常操作中,相信很多人在python中PCA的实例过程讲解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"pyt
千家信息网最后更新 2026年11月03日python中PCA的实例过程讲解
这篇文章主要介绍"python中PCA的实例过程讲解",在日常操作中,相信很多人在python中PCA的实例过程讲解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"python中PCA的实例过程讲解"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1、输入矩阵归一化处理。
2、计算样本协方差矩阵。
3、求解协方差矩阵指定的最大特征值对应特征向量。
4、确定转换矩阵,求解降维数据。
实例
#/usr/nom/env python# _*_coding:utf-8_*_# @Time :2021/9/3 10:04# @Author :A bigfish# @FileName :maindemo13.py# @Software :PyCharm import matplotlib.pyplot as pltimport numpy as npfrom pylab import * # 首先导入数据,此部分为从存储列表或单元中读取分析数据def loadDataSet(filename, delim='\t'): #此处的'\t'表示不同变量间的分隔符,t表示tab键键入的空格 fr = open(filename) stringArr = [line.strip().split(delim) for line in fr.readlines()] dataArr = [list(map(float, line)) for line in stringArr] return np.mat(dataArr) # 定义pca分析函数def pca(dataset, topNfeat = 99999): #topNfeat最大特征值数目,通常不用设置,因为后续要进行可视化分析 meanVals = np.mean(dataset, axis=0) #求均值 meanRemoved = dataset - meanVals #预处理 covMat = np.cov(meanRemoved, rowvar=0) #求解输入数据协方差矩阵 eigVals, eigVects = np.linalg.eig(np.mat(covMat)) #求解特征值,特征向量 eigVaInd = np.argsort(eigVals) #对特征值进行排序处理,默认为升序 eigVaInd = eigVaInd[-1:-(topNfeat):-1] #根据指定数目进行逆序处理 redEigVects = eigVects[:,eigVaInd] #选取对应特征向量 lowDataMat = meanRemoved * redEigVects #数据降维X*P recontMat = (lowDataMat * redEigVects.T) + meanVals #c处理进行了数据重构,非必须选项 return lowDataMat, recontMat, eigVals #返回数据 # 定义特值值绘制函数def plotEig(dataset, numFeat=20): mpl.rcParams['font.sans-serif'] = ['Times NewRoman'] sumData = np.zeros((1, numFeat)) dataset = dataset / sum(dataset) for i in range(numFeat): sumData[0, i] = sum(dataset[0:i]) X = np.linspace(1, numFeat, numFeat) fig = plt.figure() ax = fig.add_subplot(211) ax.plot(X, (sumData*100).T, 'r-+') mpl.rcParams['font.sans-serif'] = ['SimHei'] plt.ylabel('累计方差百分比') ax2 = fig.add_subplot(212) ax2.plot(X.T, (dataset[0:numFeat].T)*100, 'b-*') plt.xlabel('主成分数') plt.ylabel('方差百分比') plt.show() # 定义原始数据及第一主成分绘制函数def plotData(OrigData, recData): import matplotlib.pyplot as plt fig = plt.figure() ax = fig.add_subplot(111) ax.scatter(OrigData[:,0].flatten().A[0], OrigData[:, 1].flatten().A[0], c='blue',marker='^', s=90) ax.scatter(recData[:, 0].flatten().A[0], recData[:, 1].flatten().A[0], c='red', marker='o',s=90)plt.show()到此,关于"python中PCA的实例过程讲解"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
数据
特征
实例
矩阵
过程
特征值
处理
学习
函数
协方差
向量
分析
最大
数目
方差
更多
百分
百分比
帮助
输入
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
亿人帮互联网科技有限公司
科技互联网企业
国智互联网科技
礼当家互联网科技
互联网科技排名
九亚互联网科技
朗涯互联网科技
电子科技大学互联网
菲比寻常互联网科技
互联网科技美容
甘肃拓世互联网科技有限公司
哈尔滨新华互联网科技
成都玖崟互联网科技有限公司乐商圈怎么样
江苏南京365互联网科技
崇明区互联网教育科技售后服务
宜昌元轩互联网科技有限公司
坤平互联网科技
长沙茂晟互联网科技有限公司
昆明中奇联合互联网科技
小牛互联网科技有限公司地址
科技互联网企业
互联网公司 科技公司
亿策互联网科技
新浪科技互联网
兼蜜互联网科技
深圳艾佳互联网科技
互联网科技有限公司 翻译
江苏南京365互联网科技
黑科技闪耀互联网之光
民营互联网公司国防科技