作业一:PCA降维作业

代码

点击查看代码
#author:qiao_px
#@Time 2022/10/31 16:11
#@File ceshiPCA.py
import pandas as pd
from sklearn.decomposition import PCA
import numpy as np
data = pd.read_excel("./我国大陆经济发展状况数据.xlsx",header=None)
data = data[2:]
rename = ['province','A1','A2','A3','A4','A5','A6','A7','A8']
data.columns=rename
A1 = data['A1'].mean()
A2 = data['A2'].mean()
A3 = data['A3'].mean()
A4 = data['A4'].mean()
A5 = data['A5'].mean()
A6 = data['A6'].mean()
A7 = data['A7'].mean()
A8 = data['A8'].mean()
data = data[['A1','A2','A3','A4','A5','A6','A7','A8']]
# print(data)
# print(A1,'\n',A2,'\n',A3,'\n',A4,'\n',A5,'\n',A6,'\n',A7,'\n',A8)
data1 = np.mat(data)
# print(data1)
dataT = data1.T
# print(dataT)
# print(dataT[0].shape)
a= []
for i in range(30):
# print(dataT[0,i])
newData = dataT[0,i]-A1
a.append(newData)
a=np.mat(a)
b=[] for i in range(30):
# print(dataT[0,i])
newData = dataT[1,i]-A2
b.append(newData)
b=np.mat(b)
c=[]
for i in range(30):
# print(dataT[0,i])
newData = dataT[2,i]-A3
c.append(newData)
c = np.mat(c)
d=[]
for i in range(30):
# print(dataT[0,i])
newData = dataT[3,i]-A4
d.append(newData)
d = np.mat(d)
e=[]
for i in range(30):
# print(dataT[0,i])
newData = dataT[4,i]-A5
e.append(newData)
e = np.mat(e)
f = []
for i in range(30):
# print(dataT[0,i])
newData = dataT[5,i]-A6
f.append(newData)
f = np.mat(f)
g =[]
for i in range(30):
# print(dataT[0,i])
newData = dataT[6,i]-A7
g.append(newData)
g = np.mat(g)
h=[]
for i in range(30):
# print(dataT[0,i])
newData = dataT[7,i]-A8
h.append(newData)
h = np.mat(h)
# print(a,'\n',b,'\n',c,'\n',d,'\n',e,'\n',f,'\n',g,'\n',h)
W = np.concatenate((a,b,c,d,e,f,g,h))
# print(W.shape)
W1 = np.mat(W)
W11 = W1.T
tr,S = np.linalg.eig(W11.T*W11)
# print(tr)
#S为样本特征矩阵
print('样本特征矩阵:',S)
# print(S[0],S[1],S[2])
S1 = np.concatenate((S[0],S[1],S[2]))
#投影矩阵
print('投影矩阵:',S1) #低维样本特征矩阵
SSS = S1*S
print('低维样本特征矩阵:',SSS)

## 解题步骤

作业一:PCA降维练习的更多相关文章

  1. [综] PCA降维

    http://blog.json.tw/using-matlab-implementing-pca-dimension-reduction 設有m筆資料, 每筆資料皆為n維, 如此可將他們視為一個mx ...

  2. 机器学习公开课笔记(8):k-means聚类和PCA降维

    K-Means算法 非监督式学习对一组无标签的数据试图发现其内在的结构,主要用途包括: 市场划分(Market Segmentation) 社交网络分析(Social Network Analysis ...

  3. Python机器学习笔记 使用scikit-learn工具进行PCA降维

    之前总结过关于PCA的知识:深入学习主成分分析(PCA)算法原理.这里打算再写一篇笔记,总结一下如何使用scikit-learn工具来进行PCA降维. 在数据处理中,经常会遇到特征维度比样本数量多得多 ...

  4. PCA降维—降维后样本维度大小

    之前对PCA的原理挺熟悉,但一直没有真正使用过.最近在做降维,实际用到了PCA方法对样本特征进行降维,但在实践过程中遇到了降维后样本维数大小限制问题. MATLAB自带PCA函数:[coeff, sc ...

  5. 一步步教你轻松学主成分分析PCA降维算法

    一步步教你轻松学主成分分析PCA降维算法 (白宁超 2018年10月22日10:14:18) 摘要:主成分分析(英语:Principal components analysis,PCA)是一种分析.简 ...

  6. 【资料收集】PCA降维

    重点整理: PCA(Principal Components Analysis)即主成分分析,是图像处理中经常用到的降维方法 1.原始数据: 假定数据是二维的 x=[2.5, 0.5, 2.2, 1. ...

  7. 第四章 PCA降维

    目录 1. PCA降维 PCA:主成分分析(Principe conponents Analysis) 2. 维度的概念 一般认为时间的一维,而空间的维度,众说纷纭.霍金认为空间是10维的. 3. 为 ...

  8. PCA 降维算法详解 以及代码示例

    转载地址:http://blog.csdn.net/watkinsong/article/details/38536463 1. 前言 PCA : principal component analys ...

  9. [学习笔记] numpy次成分分析和PCA降维

    存个代码,以后参考. numpy次成分分析和PCA降维 SVD分解做次成分分析 原图: 次成分复原图: 代码: import numpy as np from numpy import linalg ...

  10. 关于PCA降维中遇到的python问题小结

    由于论文需要,开始逐渐的学习CNN关于文本抽取的问题,由于语言功底不好,所以在学习中难免会有很多函数不会用的情况..... ̄へ ̄ 主要是我自己的原因,但是我更多的把语言当成是一个工具,需要的时候查找就 ...

随机推荐

  1. 01_Node的版本管理

    Node的版本管理工具 常见的node的版本管理工具有两种N.NVM 但是他们有一个致命的问题就是不支持Windwos 但是NVM延申了一个nvm-windows的版本,他就可以很好的支持window ...

  2. ider git Reset Type 使用记录

    Soft:在选定提交点之后所做的所有更改都将被暂存(这意味着可以到 Version Control 窗口(Alt+9)的Local Changes 选项卡,以便您可以查看它们,并在必要时稍后提交). ...

  3. 【笔记】BootstrapTable带参数刷新数据的坑

    $(<表选择器>).bootstrapTable('refresh', { query: { param1: a, param2: b } ); bootstrapTable中queryP ...

  4. centos NTP时间同步

    1.先设置时区 timedatectl set-timezone Asia/Shanghai 2安装ntp服务 yum install chrony 3.修改ntp配置文件的ntp服务器 vi /et ...

  5. watch监听中的deep以及immdiate

    1 deep:深度监听 使用场景:如果是监听的是对象类型,当手动修改对象的某个属性时,发现是无效的,此时需要给监听器添加deep:true. 例如: data:{ obj:{ a:1 } }, wat ...

  6. (转载)Overlay网络

    1. Overlay 网络1.1 Overlay 技术概述    Overlay 在网络技术领域,指的是一种网络架构上叠加的虚拟化技术模式,其大体框架是对基础网络不进行大规模修改的条件下,实现应用在网 ...

  7. Windows10 Vmware安装Centos虚拟机

    准备工作 安装Vmware软件 下载地址:https://www.vmware.com/cn/products/workstation-pro.html 下载Centos7 镜像 下载地址:https ...

  8. RSA 非对称加密

    原文链接:https://www.jianshu.com/p/d56a72013392 RSA 是一种非对称加密算法,在实际业务中经常使用此算法对数据进行加密.但是它的加解密速度较慢,不太适用于高并发 ...

  9. VS2017创建Linux项目实现远程GDB调试

    vs2017新增linux for C++的模块,尝试安装了一下环境. 首先,安装VS2017,安装时注意选择以下模块: 安装完成后,需要配置Linux服务端的部分,我的配置过程如下: 第一步,安装V ...

  10. recastnavigation计算三角形离给定点最近位置方法简单注释

    三角形 在recastnavigation中,三角形是最基础的元素,很多逻辑都是基于三角形进行的,其中比较常见的一个操作就是计算指定点到某三角形上的最近距离.由于三角形通常代表行走面,而给定点P可能是 ...