网上已经有非常多的大佬讲解了PCA的原理,我这里不再赘述原理问题,主要说一说如何用代码实现我们PAC与Python自己的库

如果有小伙伴想了解PCA的具体数学原理,我推荐大家看看这两篇文章,讲的都非常到位了。

主成分分析(Principal components analysis)-最大方差解释​www.cnblogs.com

https://blog.csdn.net/zhongkelee/article/details/44064401​blog.csdn.net

那么我们就开始讲解我们的实现步骤:

我们假定data是我们事先读入的CSV文件中的数据

X是我们的特征值,y是我们的类标

第一步:对我们的原始数据进行标准化处理

from sklearn import StandarScaler
sc = StandarScaler()
X_std = sc.fit_transform(X)

第二步:构造协方差矩阵

第三步:得到特征值和特征向量

import numpy as np
cov_mat = np.cov()//得到协方差矩阵
vals,vecs = np.linalg.eig(cov_mat)//得到特征值和特征向量

第四步:得到前K个特征值对应的特征向量

第五步:构造特征向量组成矩阵

pairs = [(np.abs(vals[i],vector[:,i]) for i in range(len(vals)))]
pairs.sort(reverse = True)
w = np.hstack((pairs[0][1][:,np.newaxis],pairs[1][1][:,np.newaxis]))

最后让我们的数据集点乘这个矩阵即可

我们也可以使用scikit-learn进行主成分分析

from sklearn.decomposition import PCA
pca=PCA(n_components=2)
X=pca.fit_transform(X)

好了,实现就是这么简单明了,但是如果要搞懂其背后的数学含义还是要下一番大功夫的。

java 实现协方差_无监督数据降维技术-主成分分析(PCA)的Python实现相关推荐

  1. 机器学习算法_无监督机器学习算法:主成分分析

    之前我们曾经讲过,无监督学习是一种不使用标记数据(无目标变量)的机器学习.因此,算法的任务是在数据本身中寻找模式.无监督机器学习算法的两种主要类型分别是使用主成分分析的降维算法和聚类算法(包括K-Me ...

  2. 在线作图丨数据降维方法①——主成分分析PCA

    PCA是什么? 主成分分析算法(PCA)是最常用的线性降维方法,它的目标是通过某种线性投影,将高维的数据映射到低维的空间中,并期望在所投影的维度上数据的信息量最大(方差最大),以此使用较少的数据维度, ...

  3. 【机器学习】无监督学习--(降维)主成分分析PCA

    注:数据集在文章末尾 1. PCA简单例子 import numpy as np import matplotlib.pyplot as plt# 载入数据 data = np.genfromtxt( ...

  4. 监督学习和无监督学习_让半监督学习再次伟大!谷歌最新无监督数据增强研究,全面超越现有半监督学习方法...

      新智元报道   来源:GoogleAI 编辑:元子 [新智元导读]Google AI最新研究用无监督数据增强推进半监督学习,取得令人瞩目的成果.该方法超越了所有现有的半监督学习方法,并实现了仅使用 ...

  5. pca 累积方差贡献率公式_机器学习数据降维方法:PCA主成分分析

    PCA在机器学习中很常用,是一种无参数的数据降维方法.PCA步骤: 将原始数据按列组成n行m列矩阵X 将X的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值 求出协方差矩阵 求出协方差矩阵的 ...

  6. SuperPCA:用于高光谱图像无监督特征提取的超像素PCA方法

    SuperPCA: A Superpixelwise PCA Approach for Unsupervised Feature Extraction of Hyperspectral Imagery ...

  7. 刘彦伟_京东实时数据平台技术实践

    2019独角兽企业重金招聘Python工程师标准>>> 刘彦伟_京东实时数据平台技术实践 随着大数据在业务中不断深入的应用以及业务的高速增长,传统""T+1&qu ...

  8. 基于TensorFlow理解三大降维技术:PCA、t-SNE 和自编码器

    ythonista 数据科学家 Elior Cohen 近日在 Medium 上发文解读了最常见的三大降维技术:PCA.t-SNE 和自编码器.为了帮助理解,他还为其中每种相关算法编写了代码(也发布在 ...

  9. 主成分的java版_数据降维:主成分分析法

    前言 什么叫做主成分分析法,我们先看一张图椭圆的图,如果让你找一条线,使得椭圆上所有点在该线上映射的点最分散,保留下来的信息最多,你会怎么选择这条线?若是下图,会选择水平线,这是用一维的方式去尽可能多 ...

最新文章

  1. 上交大博士生:博三经历5轮审稿被拒后,如今发10篇论文成为审稿人
  2. JSP常用标签——JSTL标签和EL表达式
  3. Soul网关发布里程碑的2.3.0版本,新增支持GRPC,Tars,Sofa协议
  4. php手册数组函数,PHP - Manual手册 - 函数参考 - Array 数组函数 - array_diff计算数组的差集...
  5. 黑马28期Android全套视频无加密完整版
  6. Oracle init.ora常用配置详解
  7. win7 VS2008 编译luabind-0.9.1 动态库 静态库
  8. 权限管理(1):简介
  9. 每天Leetcode 刷题 初级算法篇-位1的个数
  10. linux man指令问题
  11. python实现简单爬虫功能
  12. 2021年中国研究生数学建模竞赛B题参考思路
  13. [项目分享]JSP+Servlet+JDBC+DBCP2实现在线购书系统
  14. 软件测试学习(一)软件测试基础知识
  15. 大学计算机word操作教程,word技巧大全:73个word实用技巧分享-电脑教程
  16. 人脸识别(三) 摄像头中的人脸识别+LFW数据集测试
  17. 物联网-电力监控平台(汇总)
  18. 独家整理: 六款高质量的办公资源网站,疯狂提高你的工作效率
  19. 电大考试计算机应用基础考试试题,电大计算机应用基础网络教育统考考试(2013真题卷)...
  20. 保驾护航政务企业上云,云上安全一马当先

热门文章

  1. 单件模式与业务逻辑服务层封装
  2. Kubelet 源码剖析
  3. leetcode990. 等式方程的可满足性
  4. IO流和集合的交集Properties类的介绍。
  5. csp认证多少分通过_一级结构工程师考试难不难?多少分通过?
  6. 设计模式--策略模式--Java实现
  7. 拉取docker官方centos镜像时区不对问题
  8. requirejs与echart的一些问题
  9. tars 部署 oracle,Tars 部署介绍(必看)
  10. 华为笔试题-磁盘容量排序