PCA python代码实现
来源:互联网 发布:淘宝二手苹果7可信吗 编辑:程序博客网 时间:2024/05/21 09:11
#coding:utf-8from numpy import *import matplotlibimport matplotlib.pyplot as pltdef loadDataSet(fileName, delim='\t'): fr = open(fileName) stringArr = [line.strip().split(delim) for line in fr.readlines()] datArr = [map(float,line) for line in stringArr] return mat(datArr)def pca(dataMat, topNfeat=999999): meanVals = mean(dataMat, axis=0) DataAdjust = dataMat - meanVals #减去平均值 covMat = cov(DataAdjust, rowvar=0) eigVals,eigVects = linalg.eig(mat(covMat)) #计算特征值和特征向量 #print eigVals eigValInd = argsort(eigVals) eigValInd = eigValInd[:-(topNfeat+1):-1] #保留最大的前K个特征值 redEigVects = eigVects[:,eigValInd] #对应的特征向量 lowDDataMat = DataAdjust * redEigVects #将数据转换到低维新空间 reconMat = (lowDDataMat * redEigVects.T) + meanVals #重构数据,用于调试 return lowDDataMat, reconMat# 测试数据testSet.txt由1000个数据点组成。下面对数据进行降维,并用matplotlib模块将降维后的数据和原始数据一起绘制出来。dataMat = loadDataSet('./testSet.txt')lowDMat, reconMat = pca(dataMat,1)print "shape(lowDMat): ",shape(lowDMat)fig = plt.figure()ax = fig.add_subplot(111)ax.scatter(dataMat[:,0].flatten().A[0],dataMat[:,1].flatten().A[0],marker='^',s=90)ax.scatter(reconMat[:,0].flatten().A[0],reconMat[:,1].flatten().A[0],marker='o',s=50,c='red')plt.show()
结果如下图
阅读全文
0 0
- PCA python代码实现
- PCA的python代码实现
- PCA实现代码
- 快速pca实现代码
- python 实现PCA
- python中实现PCA
- PCA降维 python实现
- PCA的Python实现
- PCA python实现
- PCA学习笔记 python实现
- PCA原理及Python实现
- 用Python一步一步实现PCA
- PCA——python实现
- Python 之 sklearn 实现 PCA 降维
- PCA主成分分析Python实现
- Python 之 sklearn 实现 PCA 降维
- PCA降维的python实现
- PCA主成分分析Python实现
- Git基本操作
- servlet处理http请求7
- 51nod 1278 相离的圆
- 数据库特点、四大特征、并发事务引起的问题
- git 入门使用
- PCA python代码实现
- 银行卡号的格式显示和获取数据
- 技术文章 | 合理分析竞争对手_有效提升关键词排名
- JavaSE (六)流程控制语句if、switch
- golang-defer坑的本质
- rownum用法详解
- select2 asp.net mvc jquery.validate.js jquery.validate.unobtrusive.js不能完美结合问题
- 前端试题
- EventBus的使用详解和封装