作业一: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. C#校验GPS数据

    从#或$后开始,到*之前是GPS数据,*之后是校验位. public bool Verified(string gps) { gps = gps.TrimStart('#', '$'); var s ...

  2. gitlab 配置汉化版

    转载 https://blog.csdn.net/qq_44895681/article/details/123277087

  3. PS 查看进行状态

    原文:https://blog.csdn.net/lyndon_li/article/details/114295654 ps 查看进行状态有如下几种: ... PROCESS STATE CODES ...

  4. js 自定義event

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. JS中call、apply、bind

    call就是挨个传值,apply传一个数组,bind也是挨个传值 call() 和 apply() 会执行这个函数bind并不会而是将绑定好的this重新返回一个新函数

  6. openwrt 配置虚拟wan口

    一.刷固件:1.刷入 刷不死,百度上找教程:2.下载固件:https://downloads.openwrt.org/releases/17.01.6/targets/ramips/mt7620/ 按 ...

  7. proguard-maven-plugin混淆代码排除方法

    当使用proguard-maven-plugin混淆代码时,如果要排除某个类中某个方法不混淆,务必参数指定全路径类名,否则会不生效.

  8. vue-用户管理系统

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. go interface nil 比较

    package main import "fmt" type MyselfError struct{} func (m *MyselfError) Error() string { ...

  10. Unity 凹多边形三角剖分

    游戏中需要实现一个小功能,显示一个玩家的能力图,这个图是一个有6个顶点任意摆放组合的多边形.而绘制多边形主要用到的知识就是Mesh构建,mesh的构建主要需要顶点列表,三角形列表,法线列表.uv列表等 ...