作业一: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关于文本抽取的问题,由于语言功底不好,所以在学习中难免会有很多函数不会用的情况..... ̄へ ̄ 主要是我自己的原因,但是我更多的把语言当成是一个工具,需要的时候查找就 ...
随机推荐
- 使用win10 wsl中的Debian编译lean 的 lede
安装Debian发行版 启用windows 适用于linux 的 windows子系统 安装Debian 参考p3terx的文章把debian装到非系统盘上: https://p3terx.com/a ...
- 关于.NET CORE 的 swagger 分组简单使用
在避免swagger接口过多时,可以使用分组进行功能区分 简单三部曲 1.添加分组和级别名称 services.AddSwaggerGen(c => { #region swagger分组 c. ...
- slitaz5安装vim,sakura终端命令行打不开
刚开始安装了vim后,vim提示libtinof.so.6打不开.在网上查,发现可能是库缺少.然后查看了依赖库文件 ldd /usr/bin/vim 发现果然缺少了 libncurses.so.6 的 ...
- IBM免费服务器试用
IBM公司的免费资源,仅需一个邮箱就可以注册申请,注册可以有60天试用期. 1.注册 点击 注册进入IBM教育资源官网进行注册,注册时仅需要一个有效邮箱,QQ,Gmail,outlook均可. 注册邮 ...
- Python矩阵作图库matplotlib的初级使用(2)
基础介绍 matplotlib图形对象层级结构: 图形对象(figure) → 子图对象(axes) → 坐标轴对象(axis) → 定位器对象-刻度线(locator)/格式化器对象-刻度线标签(f ...
- 杂:pthread_cond_timedwait导致死锁
地球人都知道1:pthread_cond_timedwait使用时,需要对[条件]加锁.[条件]也是一种线程共享资源. 地球人都知道2:1个互斥锁不应该管理2类及以上的多线程共享资源 1+2=下面这样 ...
- H5云图后台读写CAD文件-在线CAD,网页CAD,网页浏览编辑CAD
说明 后台提供MxFileConvert.exe程序,它可以将CAD图纸转换成前台能加载显示的格式,程序调用方法见: https://help.mxdraw.com/?pid=32中的"如何 ...
- Redis 实战(一)AOF 持久化配置和数据恢复
真枪实弹:AOF 持久化配置和数据恢复 大家好,我是悟空呀. 如果你曾经背过 RDB 和 AOF 的面试八股文,那么对 AOF 肯定不陌生,但如果只停留在应付面试阶段,对于提高自己的技术是远远不够的, ...
- tidb 杂记
tidb_biuil_stats_concurrency 执行analyze table时会分成多个小任务,可以同时执行的任务数量.tidb_distsql_scan_concurrency 在执行分 ...
- STM32F407 HardFault_Handler 中断输出初步定位越界问题
1.测试环境:MDK + STM32F407 2.汇编重写 HardFault_Handler 中断 3.根据输出 nextPoint 地址对照编译生成的 .map 文件 /* 硬件错误中断的回调 ...