作业一: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. Delphi播放铃声

    两种方式: 一.简单直接 uses MMSystem; procedure TFmSound.playBtnClick(Sender: TObject); begin PlaySound(PChar( ...

  2. [Swift]使用Alamofire传递参数时报错

    p.p1 { margin: 0; font: 11px Menlo; color: rgba(0, 0, 0, 1) } span.s1 { font-variant-ligatures: no-c ...

  3. KingbaseES V8R6备份恢复案例之---自定义表空间指定恢复目录数据恢复

    案例说明: KingbaseES V8R6在通过sys_rman执行物理备份恢复时,可以通过参数'--kb1-path',指定恢复的数据(data)目录,但如果原备份中包含自定义表空间时,需要建立表空 ...

  4. 四、vMotion虚拟机迁移

    vMotion迁移步骤: 1.在目标主机上创建影子虚拟机. 2.通过vmotion网络将虚拟机的内存状态从源主机复制到目标主机.用户仍可以访问虚拟机,甚至有可能更新内存中的页面.源主机的内存位图会保存 ...

  5. Linux CentOS7 安装 Qt 5.9.2 和 lableImg

    一.安装qt5.9.2 1.安装依赖 yum groupinstall "C Development Tools and Libraries"yum install libgl l ...

  6. 【rocky linux】firewalld切换到iptables 以及Failed to start IPv4 firewall with iptables.

    关闭[firewalld],安装iptables并启动 #关闭自带 firewall systemctl stop firewalld systemctl mask firewalld#显示当前 fi ...

  7. 调度器30—调度相关结构体—p->flags

    一.PF_EXITING 1. 赋值路径 各驱动和内核机制中直接调用 SYSCALL_DEFINE1(exit, int, error_code) //exit.c do_exit(code); // ...

  8. 【Java学习day04】Java文件的创建和Java代码的执行

    Java文件的创建和Java代码的执行 随便新建一个文件夹,存放代码 在新建的文件夹里新建一个java文件 新建一个文本文档 将新建的文本文档重命名为hello.java 注意了!后缀必须改为.jav ...

  9. inux配置PATH路径

    查看PATH:echo $PATH以添加python3为列 修改方法一:export PATH=P A T H : PATH:PATH:HOME/bin:export PATH=P A T H : P ...

  10. C2驾驶车型

    凡是自动挡的9座(包括9座)以下,车长6米以内的小型载客汽车(包含轿车.SUV.MPV):以及总质量在4500KG(包括4500KG)以下的.车长在6米(包括6米)以下的.核定载重质量在1500KG( ...