当前位置: 首页 > news >正文

辽宁建网站云南省建设测量员注册网站

辽宁建网站,云南省建设测量员注册网站,公众号里原文单发到dede网站上,游戏制作培训PCA的用处:找出反应数据中最大变差的投影(就是拉的最开)。 在减少需要分析的指标同时,尽量减少原指标包含信息的损失,以达到对所收集数据进行全面分析的目的 但是什么时候信息保留的最多呢?具体一点&#…

PCA的用处:找出反应数据中最大变差的投影(就是拉的最开)。

在减少需要分析的指标同时,尽量减少原指标包含信息的损失,以达到对所收集数据进行全面分析的目的

但是什么时候信息保留的最多呢?具体一点?

首先:去中心化(把坐标原点放到数据中心,如上图所示)

然后,找坐标系(找到方差最大的方向)

问题是:怎么找到方差最大的方向呢????????

一.引子

1.使用矩阵可以进行数据的线性变换(数据的拉伸)

2.使用矩阵可以进行数据的线性变换(数据的旋转)

3.结合起来两种操作

拉伸决定了方差最大的方向是横或者纵

旋转决定了方差最大的方向的角度

怎么求R?

协方差矩阵的特征向量就是R

二.数学原理:

三.PCA流程图:

PCA与SVD的联系:

四.例子:

五.代码:

# -*- coding: utf-8 -*-
"""
Created on Tue Oct 13 11:12:24 2020@author: pc① 对原数据集零均值化。代码是:meanRemoved = dataMat - mean(dataMat,axis=0)② 求出均值化X的协方差矩阵:公式是:Cov(X)=\frac{1}{m-1}X^{T}X,代码是:covMat = cov(meanRemoved,rowvar=0)③ 求这个协方差矩阵的特征值,特征向量,代码是:eigVals, eigVects = linalg.eig(mat(covMat))④ 把这些特征值按从大到小排列,返回特征值的下标,代码是:eigValInd = argsort(-eigVals)⑤ 选出前topNfeat个特征值,返回这些选中的特征值的下标,并根据下标从特征向量矩阵eigVects中取出这些选中的特征向量组成矩阵P,这就是我们要找的变换矩阵P,代码是:redEigVects = eigVects[:,eigValInd[:topNfeat] ]⑥ 返回降维后的数据,公式是:Y=X•P,代码是:lowDDataMat = meanRemoved * redEigVects⑦ 原数据映射到新的空间中。公式是:X^{'}=Y\cdot P^{T}+mean,代码是:reconMat = (lowDDataMat * redEigVects.T) + meanValues
"""import numpy as np
import matplotlib.pyplot as pltdef pca(dataMat, topNfeat = 999999):meanValues = np.mean(dataMat,axis=0) # 竖着求平均值,数据格式是m×nmeanRemoved = dataMat - meanValues  # 0均值化  m×n维covMat = np.cov(meanRemoved,rowvar=0)  # 每一列作为一个独立变量求协方差  n×n维eigVals, eigVects = np.linalg.eig(np.mat(covMat)) # 求特征值和特征向量  eigVects是n×n维eigValInd = np.argsort(-eigVals)  # 特征值由大到小排序,eigValInd十个arrary数组 1×n维eigValInd = eigValInd[:topNfeat]  # 选取前topNfeat个特征值的序号  1×r维print(eigValInd)redEigVects = eigVects[:,eigValInd] # 把符合条件的几列特征筛选出来组成P  n×r维lowDDataMat = meanRemoved * redEigVects  # 矩阵点乘筛选的特征向量矩阵  m×r维 公式Y=X*PreconMat = (lowDDataMat * redEigVects.T) + meanValues  # 转换新空间的数据  m×n维return lowDDataMat, reconMatdef drawPoints(dataset1,dataset2):  # 画图,dataset1是没降维的数据,dataset2是数据映射到新空间的数据fig = plt.figure()ax1 = fig.add_subplot(211)ax2 = fig.add_subplot(212)ax1.scatter(dataset1[:,0],dataset1[:,1],marker='s',s=5,color='red')dataset2 = np.array(dataset2)ax2.scatter(dataset2[:,0],dataset2[:,1],s=5,color='blue')plt.show()if __name__ == '__main__':dataSetList = []fr = open('pca_data_set1.txt')for row in fr.readlines():cur_line = row.strip().split('\t')proce_line = list(map(float,cur_line))dataSetList.append(proce_line)dataSetList = np.array(dataSetList)data = dataSetListproccess_data, reconMat = pca(data,topNfeat = 1)drawPoints(data,reconMat)

http://www.yayakq.cn/news/805610/

相关文章:

  • 有了网址怎么做网站中国最大域名注册商
  • 宁波建设业协会网站网站后台更新为什么前台不现实
  • 玉溪网络推广 网站建设游族网络公司最新消息
  • 网站内容不收录wordpress 说明书
  • 建邺html5响应式网站网站文章页内链结构不好可以改吗
  • 高清图片素材网站免费下载河南seo
  • 潍坊网站建设 选聚搜网络wordpress磁力插件
  • 购买域名是什么意思西安网站快速优化
  • 做电影网站怎么赚钱榆林网站建设熊掌号
  • 树状结构的网站android系统开发
  • 网站维护员工作内容最新网站开发建设教材
  • 网站编辑工作内容怎么写做网站网站需要注意什么
  • 免费建网站 高校社团官方网站wordpress 镜像下载
  • dw做旅游网站毕业设计模板下载大良网站设计
  • 九江建设局网站网站建设整体策划
  • 青岛建设银行银行招聘网站网站建设标志头像图片
  • ui做的好看的论坛网站手机应用开发平台
  • 山东省住房和城乡建设厅网站省财政厅经济建设处网站
  • 宣城网站建设jidela电脑培训机构
  • 那个网站建设好招聘网站有哪些
  • 南阳 网站建设惠州网站模板建站
  • 做公司网站需要准备什么科目企业网络营销策划书
  • 网站开发环境ide梵高网站建设
  • 汕头免费模板建站专门做简历的网站软件
  • 网站建设小故事做网站的抬头标语怎么做
  • 磁县网站制作公司长春广告设计公司
  • 2013年四川省泸州市技能竞赛网站建设样稿做加密网站全站加密的最低成本
  • 重庆网站自己推广dede怎么做视频网站
  • 网站平台选择网站如何做提现功能
  • 网站主机提供商网站报价书