作业一:PCA降维练习
作业一: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降维练习的更多相关文章
- [综] PCA降维
http://blog.json.tw/using-matlab-implementing-pca-dimension-reduction 設有m筆資料, 每筆資料皆為n維, 如此可將他們視為一個mx ...
- 机器学习公开课笔记(8):k-means聚类和PCA降维
K-Means算法 非监督式学习对一组无标签的数据试图发现其内在的结构,主要用途包括: 市场划分(Market Segmentation) 社交网络分析(Social Network Analysis ...
- Python机器学习笔记 使用scikit-learn工具进行PCA降维
之前总结过关于PCA的知识:深入学习主成分分析(PCA)算法原理.这里打算再写一篇笔记,总结一下如何使用scikit-learn工具来进行PCA降维. 在数据处理中,经常会遇到特征维度比样本数量多得多 ...
- PCA降维—降维后样本维度大小
之前对PCA的原理挺熟悉,但一直没有真正使用过.最近在做降维,实际用到了PCA方法对样本特征进行降维,但在实践过程中遇到了降维后样本维数大小限制问题. MATLAB自带PCA函数:[coeff, sc ...
- 一步步教你轻松学主成分分析PCA降维算法
一步步教你轻松学主成分分析PCA降维算法 (白宁超 2018年10月22日10:14:18) 摘要:主成分分析(英语:Principal components analysis,PCA)是一种分析.简 ...
- 【资料收集】PCA降维
重点整理: PCA(Principal Components Analysis)即主成分分析,是图像处理中经常用到的降维方法 1.原始数据: 假定数据是二维的 x=[2.5, 0.5, 2.2, 1. ...
- 第四章 PCA降维
目录 1. PCA降维 PCA:主成分分析(Principe conponents Analysis) 2. 维度的概念 一般认为时间的一维,而空间的维度,众说纷纭.霍金认为空间是10维的. 3. 为 ...
- PCA 降维算法详解 以及代码示例
转载地址:http://blog.csdn.net/watkinsong/article/details/38536463 1. 前言 PCA : principal component analys ...
- [学习笔记] numpy次成分分析和PCA降维
存个代码,以后参考. numpy次成分分析和PCA降维 SVD分解做次成分分析 原图: 次成分复原图: 代码: import numpy as np from numpy import linalg ...
- 关于PCA降维中遇到的python问题小结
由于论文需要,开始逐渐的学习CNN关于文本抽取的问题,由于语言功底不好,所以在学习中难免会有很多函数不会用的情况..... ̄へ ̄ 主要是我自己的原因,但是我更多的把语言当成是一个工具,需要的时候查找就 ...
随机推荐
- C#校验GPS数据
从#或$后开始,到*之前是GPS数据,*之后是校验位. public bool Verified(string gps) { gps = gps.TrimStart('#', '$'); var s ...
- gitlab 配置汉化版
转载 https://blog.csdn.net/qq_44895681/article/details/123277087
- PS 查看进行状态
原文:https://blog.csdn.net/lyndon_li/article/details/114295654 ps 查看进行状态有如下几种: ... PROCESS STATE CODES ...
- js 自定義event
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- JS中call、apply、bind
call就是挨个传值,apply传一个数组,bind也是挨个传值 call() 和 apply() 会执行这个函数bind并不会而是将绑定好的this重新返回一个新函数
- openwrt 配置虚拟wan口
一.刷固件:1.刷入 刷不死,百度上找教程:2.下载固件:https://downloads.openwrt.org/releases/17.01.6/targets/ramips/mt7620/ 按 ...
- proguard-maven-plugin混淆代码排除方法
当使用proguard-maven-plugin混淆代码时,如果要排除某个类中某个方法不混淆,务必参数指定全路径类名,否则会不生效.
- vue-用户管理系统
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- go interface nil 比较
package main import "fmt" type MyselfError struct{} func (m *MyselfError) Error() string { ...
- Unity 凹多边形三角剖分
游戏中需要实现一个小功能,显示一个玩家的能力图,这个图是一个有6个顶点任意摆放组合的多边形.而绘制多边形主要用到的知识就是Mesh构建,mesh的构建主要需要顶点列表,三角形列表,法线列表.uv列表等 ...