引言

降维的思想:

多元统计分析处理的是多变量问题。由于变量较多,增加了分析问题的复杂性。但在实际问题中,变量过多会存在一定的相关性,因此,多变量中可能会存在信息的重叠。在我们进行数据处理的时候为了提高计算速度、去除多余的特征、减少过拟合的可能;我们会经常用到降维进行数据预处理,用较少的变量代替原来较多的变量。

一、主成分分析

(1)基本思想

由于多个变量之间往往存在着一定程度的相关性。人们自然希望通过线性组合的方式,从这些指标中尽可能快地提取信息。当第一个线性组合不能提取更多的信息时,再考虑用第二个线性组合继续这个快速提取的过程,……,直到所提取的信息与原指标相差不多时为止。

(2)主成分分析目的用少的变量但却拥有很大的信息量,那么信息量用什么代表???

指标是变异性:方差或标准差。

(3)降维目标

通过线性变换将特征x1,x2,...,xm变为特征y1,y2,....,ym,寻找线性变换:

使得降维后的随机变量y1,y2,....,yp之间两两不相关,并且使得降维后的随机变量的方差存在

到最大。

(4)线性变换的本质意义

m个变量构成的m维随机向量为X =X1Xm)′。对X作正交变换,令Y = TX,其中T为正交阵,要求Y的各分量是不相关的,并且Y的第一个分量的方差是最大的,第二个分量的方差次之,……,等等。为了保持信息不丢失,Y的各分量方差和与X的各分量方差和相等。

(5)PCA 函数的参数说明

函数为:sklearn.decomposition.PCA(n_components=None,copy=True)

1. n_components:PCA算法中所要保存的主成分个数n即保留下来的特征数。

2. 是否运行算法时,将原始数据复制一份。

(6)评估

利用主成分进行综合评价时,主要是将原有的信息进行综合,因此,要充分的利用原始变量提供的信息。将主成分的权数根据它们的方差贡献率来确定,因为方差贡献率反映了各个主成分的信息含量多少。

二、实例

import numpy as npimport pandas as pd from sklearn.decomposition import PCAdata=pd.read_csv('C:/Users/bwy/Desktop/ _data_1.csv')pca=PCA()pca.fit(x)pca.components_pca.explained_variance_ratio_

这个数据集具有50个特征。当我们输出pca.components_(返回每个模型的特征向量),结果:

当我们输出pca.explained_variance_ratio_(返回个个主成分的贡献率),结果:

我们可以根据观察进行选取n的个数。

第一成分贡献率0.97535
第二成分贡献率0.01864
第二成分贡献率0.00311,
所以一个的累积贡献率为0.97535
二个的累积贡献率为0.99399 
三个的累积贡献率为0.9971

第二个主成分信息就可以达到99%所以采用n_components=2

pca=PCA(2)pca.fit(x)low_d=pca.transfrom(x)#降低维度pd.DataFrame(low_d).to_excel(out)#保存结果

三、碎石图(看图降维几维)

import matplotlib.pyplot as plt
plt.plot(pca.components_,marker='o')

结果:

主成分分析——PCA降维Python实现及碎石图相关推荐

  1. 【视频】主成分分析PCA降维方法和R语言分析葡萄酒可视化实例|数据分享

    最近我们被客户要求撰写关于主成分分析PCA的研究报告,包括一些图形和统计输出.降维技术之一是主成分分析 (PCA) 算法,该算法将可能相关变量的一组观察值转换为一组线性不相关变量.在本文中,我们将讨论 ...

  2. pca降维python实例_主成分分析(Principal component analysis, PCA)例子–Python | 文艺数学君...

    摘要这一篇是关于PCA的实战, 我们会举一个例子, 看一下PCA具体在实战中是如何来进行的. 同时我们会比较同一个数据下, 使用PCA(主成分分析)和FA(因子分析)得到结果的不同. 简介 这一篇文章 ...

  3. pca降维python实例_Python机器学习笔记:使用scikit-learn工具进行PCA降维

    之前总结过关于PCA的知识:深入学习主成分分析(PCA)算法原理.这里打算再写一篇笔记,总结一下如何使用scikit-learn工具来进行PCA降维. 在数据处理中,经常会遇到特征维度比样本数量多得多 ...

  4. [转载] 机器学习之主成分分析PCA(Python实现)

    参考链接: 使用Python进行主成分分析PCA 理解PCA:what? why? how? 当我们拿到一个数据集的时候,往往数据集中每一个样本的描述是多维的,多维的特征空间不便于我们或者计算机对其进 ...

  5. 【吴恩达】机器学习作业ex7--(k-means聚类)与(PCA降维)Python

    一.前言 此次还是分为俩个部分,第一部分是利用k-means算法进行聚类,第一部分分为俩小步骤,第一步为给好的数据集进行分类(ex7data2),第二步是利用k-means算法来对图片进行压缩,然后第 ...

  6. 通俗解释如何理解主成分分析PCA,Python实现PCA主成分分析2维降到1维

    知道IEEE这个世界最大电子电气学术组织禁止华为资助和中国某些一流大学教授参与审稿这个消息我是愤怒的.我也是无奈的,学校考核必须发论文到这儿,不得不发.IEEE上面的论文中国人几乎占了三成(美国人搞学 ...

  7. R语言主成分分析PCA谱分解、奇异值分解预测分析运动员表现数据和降维可视化

    最近我们被客户要求撰写关于主成分分析PCA的研究报告,包括一些图形和统计输出. 本文描述了如何 使用R执行主成分分析 ( PCA ).您将学习如何 使用 PCA预测 新的个体和变量坐标.我们还将提供  ...

  8. 主成分分析(PCA)原理及R语言实现及分析实例

    主成分分析(PCA)是一种数据降维技巧,它能将大量相关变量转化为一组很少的不相关变量,这些无关变量称为主成分.最近我们被客户要求撰写关于主成分分析(PCA)的研究报告,包括一些图形和统计输出.例如,使 ...

  9. 主成分分析碎石图_ISLR读书笔记十九:主成分分析(PCA)

    本文使用 Zhihu On VSCode 创作并发布 前面写的一些统计学习方法都是属于监督学习(supervised learning),这篇主成分分析(principal components an ...

最新文章

  1. display:inline-block后会有间隙
  2. Elasticsearch-Jest 配置ES集群源码解读
  3. Fabio技术手册(2):部署
  4. 并发编程(六)并发容器
  5. Spring源码阅读之在spring源码中创建一个gradle测试模块
  6. tp-801bs单板微型计算机,线切割应知应会
  7. 思约云音乐 (绿色免费版)
  8. oracle混音插件教程,【图片】【教学】waves混音插件官方教学贴,长期更新_混音吧_百度贴吧...
  9. 关于ASO优化刷榜、冲榜、维榜、锁榜科普百科
  10. C语言实现1/1-1/2+1/3-...-1/100求和
  11. 相机35mm等效焦距
  12. 谷歌浏览器怎么设置成暗黑模式
  13. JavaScript使用手册、范例
  14. 物联网+Android(SeekBar)、RGB灯控制
  15. linux使用grep条件搜索大文件的行数等操作
  16. 交通运输词汇(zt)
  17. 碳减排量和碳配额的区别是什么?
  18. 机器学习十大算法之三K-means
  19. plt保存图像、去白边、去坐标轴、去刻度
  20. 优动漫PAINT(clip studio paint)怎么画一幅水墨竹子图

热门文章

  1. 森林门前的小路用计算机弹奏歌曲,森林外的小路看花香漫步什么歌
  2. 一个最简单的shell程序
  3. [附源码]Python计算机毕业设计Django企业售后服务管理系统
  4. 第十三届蓝桥杯Java B组真题
  5. JAVA的pdf转图片方法
  6. 工作经历最详细的模板
  7. 计算机加分乘法套用,8+8+8+8+8写成乘法算式要怎样写?小学数学为何这么死板?...
  8. Instant economics 即时经济 经济学人中英双语对照精读笔记
  9. 回溯法解01背包问题(最通俗易懂,附C++代码)
  10. 沪市A股,kdj指标,api接口,API接口