作业一:PCA降维作业

代码

点击查看代码
  1. #author:qiao_px
  2. #@Time 2022/10/31 16:11
  3. #@File ceshiPCA.py
  4. import pandas as pd
  5. from sklearn.decomposition import PCA
  6. import numpy as np
  7. data = pd.read_excel("./我国大陆经济发展状况数据.xlsx",header=None)
  8. data = data[2:]
  9. rename = ['province','A1','A2','A3','A4','A5','A6','A7','A8']
  10. data.columns=rename
  11. A1 = data['A1'].mean()
  12. A2 = data['A2'].mean()
  13. A3 = data['A3'].mean()
  14. A4 = data['A4'].mean()
  15. A5 = data['A5'].mean()
  16. A6 = data['A6'].mean()
  17. A7 = data['A7'].mean()
  18. A8 = data['A8'].mean()
  19. data = data[['A1','A2','A3','A4','A5','A6','A7','A8']]
  20. # print(data)
  21. # print(A1,'\n',A2,'\n',A3,'\n',A4,'\n',A5,'\n',A6,'\n',A7,'\n',A8)
  22. data1 = np.mat(data)
  23. # print(data1)
  24. dataT = data1.T
  25. # print(dataT)
  26. # print(dataT[0].shape)
  27. a= []
  28. for i in range(30):
  29. # print(dataT[0,i])
  30. newData = dataT[0,i]-A1
  31. a.append(newData)
  32. a=np.mat(a)
  33. b=[]
  34. for i in range(30):
  35. # print(dataT[0,i])
  36. newData = dataT[1,i]-A2
  37. b.append(newData)
  38. b=np.mat(b)
  39. c=[]
  40. for i in range(30):
  41. # print(dataT[0,i])
  42. newData = dataT[2,i]-A3
  43. c.append(newData)
  44. c = np.mat(c)
  45. d=[]
  46. for i in range(30):
  47. # print(dataT[0,i])
  48. newData = dataT[3,i]-A4
  49. d.append(newData)
  50. d = np.mat(d)
  51. e=[]
  52. for i in range(30):
  53. # print(dataT[0,i])
  54. newData = dataT[4,i]-A5
  55. e.append(newData)
  56. e = np.mat(e)
  57. f = []
  58. for i in range(30):
  59. # print(dataT[0,i])
  60. newData = dataT[5,i]-A6
  61. f.append(newData)
  62. f = np.mat(f)
  63. g =[]
  64. for i in range(30):
  65. # print(dataT[0,i])
  66. newData = dataT[6,i]-A7
  67. g.append(newData)
  68. g = np.mat(g)
  69. h=[]
  70. for i in range(30):
  71. # print(dataT[0,i])
  72. newData = dataT[7,i]-A8
  73. h.append(newData)
  74. h = np.mat(h)
  75. # print(a,'\n',b,'\n',c,'\n',d,'\n',e,'\n',f,'\n',g,'\n',h)
  76. W = np.concatenate((a,b,c,d,e,f,g,h))
  77. # print(W.shape)
  78. W1 = np.mat(W)
  79. W11 = W1.T
  80. tr,S = np.linalg.eig(W11.T*W11)
  81. # print(tr)
  82. #S为样本特征矩阵
  83. print('样本特征矩阵:',S)
  84. # print(S[0],S[1],S[2])
  85. S1 = np.concatenate((S[0],S[1],S[2]))
  86. #投影矩阵
  87. print('投影矩阵:',S1)
  88. #低维样本特征矩阵
  89. SSS = S1*S
  90. 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# 前台线程 后台线程区别

    前台线程 会随进程一起结束 不管是否完成,后台线程需要执行完毕,进程才能结束 例子: class Program { static void Main(string[] args) { Thread ...

  2. elementUI中table组件前端自己实现序号排序

    <el-table-column type="index" label="序号" width="50" align="cen ...

  3. shell语法5-判断语句、循环语句、函数

    一.判断语句 if-then形式类似于C/C++中的if-else语句. 1.单层if命令格式:if conditionthen    语句1    语句2    ...fi 2.单层if-else命 ...

  4. Pytorch实战学习(二):用Pytorch实现逻辑回归

    <PyTorch深度学习实践>完结合集_哔哩哔哩_bilibili 用Pytorch实现逻辑回归 Logistic Regression 从线性回归 →​ 逻辑回归 1.分类问题 计算属于 ...

  5. 用“餐厅打包”的故事说明白Python里面的自定义函数

    注:博主并非Python专业程序员,年龄12岁,Python龄不到1岁,才疏学浅,如有错误还请大佬指教! 希望能通过本专栏帮助到一些Python小白! 嗨~大家好!上篇博文咱们说了,万一有一些上万行才 ...

  6. 快速傅里叶变换详解(FFT)

    自己也看了几篇博客,但是对我这种不擅长推导小白来说还是有一点困难,所以自己也写一篇博客也为像我一样的小白提供思路.以下内容包含各种LaTeX渲染,如果哪里有错误欢迎大家评论留言,或者添加本人qq:14 ...

  7. react的react-devtools 工具

    步骤1: 访问react-devtools工具网址: https://gitcode.net/mirrors/facebook/react-devtools?utm_source=csdn_githu ...

  8. 戴尔n4110的独显驱动黄色感叹号问题的解决方法

    直接开门见山: 要下载旧版驱动R302028.exe,但是戴尔似乎下掉了,找到了代替的地址 下载地址如下: http://soft.onlinedown.net/soft/556280.htm ,下载 ...

  9. facade是如何产生的 in laravel

    据说Facade是为了简化写法, 好记,也有人说要废除这个特性, 据说这个特性有很好的的testability 测试性, 我不清楚, 这个是怎么说出来的理由是什么? 很多Facade 是系统写好的, ...

  10. Rocky8.6软raid

    .tdi_3.td-a-rec { text-align: center } .tdi_3 .td-element-style { z-index: -1 } .tdi_3.td-a-rec-img ...