数据挖掘之PCA-主成分分析

本文介绍了主成分分析(PCA)的用途,包括通过找到数据中最大变差的投影来减少分析指标并保持信息完整性。详细讲解了PCA的步骤,涉及中心化、协方差矩阵、特征向量计算以及与SVD的关系,提供了一个Python代码示例。
摘要由CSDN通过智能技术生成

PCA的用处:找出反应数据中最大变差的投影(就是拉的最开)。

在减少需要分析的指标同时,尽量减少原指标包含信息的损失,以达到对所收集数据进行全面分析的目的

但是什么时候信息保留的最多呢?具体一点?

首先:去中心化(把坐标原点放到数据中心,如上图所示)

然后,找坐标系(找到方差最大的方向)

问题是:怎么找到方差最大的方向呢????????

一.引子

1.使用矩阵可以进行数据的线性变换(数据的拉伸)

2.使用矩阵可以进行数据的线性变换(数据的旋转)

3.结合起来两种操作

拉伸决定了方差最大的方向是横或者纵

旋转决定了方差最大的方向的角度

怎么求R?

协方差矩阵的特征向量就是R

二.数学原理:

三.PCA流程图:

PCA与SVD的联系:

四.例子:

五.代码:

# -*- coding: utf-8 -*-
"""
Created on Tue Oct 13 11:12:24 2020

@author: pc

 ① 对原数据集零均值化。代码是:meanRemoved = dataMat - mean(dataMat,axis=0)

 ② 求出均值化X的协方差矩阵:公式是:Cov(X)=\frac{1}{m-1}X^{T}X,代码是:covMat = cov(meanRemoved,rowvar=0)

 ③ 求这个协方差矩阵的特征值,特征向量,代码是:eigVals, eigVects = linalg.eig(mat(covMat))

 ④ 把这些特征值按从大到小排列,返回特征值的下标,代码是:eigValInd = argsort(-eigVals)

 ⑤ 选出前topNfeat个特征值,返回这些选中的特征值的下标,并根据下标从特征向量矩阵eigVects中取出这些选中的特征向量组成矩阵P,这就是我们要找的变换矩阵P,代码是:redEigVects = eigVects[:,eigValInd[:topNfeat] ]

 ⑥ 返回降维后的数据,公式是:Y=X•P,代码是:lowDDataMat = meanRemoved * redEigVects

 ⑦ 原数据映射到新的空间中。公式是:X^{'}=Y\cdot P^{T}+mean,代码是:reconMat = (lowDDataMat * redEigVects.T) + meanValues
"""

import numpy as np
import matplotlib.pyplot as plt

def pca(dataMat, topNfeat = 999999):
    meanValues = np.mean(dataMat,axis=0) # 竖着求平均值,数据格式是m×n
    meanRemoved = dataMat - meanValues  # 0均值化  m×n维
    covMat = np.cov(meanRemoved,rowvar=0)  # 每一列作为一个独立变量求协方差  n×n维
    eigVals, eigVects = np.linalg.eig(np.mat(covMat)) # 求特征值和特征向量  eigVects是n×n维
    eigValInd = np.argsort(-eigVals)  # 特征值由大到小排序,eigValInd十个arrary数组 1×n维
    eigValInd = eigValInd[:topNfeat]  # 选取前topNfeat个特征值的序号  1×r维
    print(eigValInd)
    redEigVects = eigVects[:,eigValInd] # 把符合条件的几列特征筛选出来组成P  n×r维
    lowDDataMat = meanRemoved * redEigVects  # 矩阵点乘筛选的特征向量矩阵  m×r维 公式Y=X*P
    reconMat = (lowDDataMat * redEigVects.T) + meanValues  # 转换新空间的数据  m×n维
    return lowDDataMat, reconMat

def drawPoints(dataset1,dataset2):  # 画图,dataset1是没降维的数据,dataset2是数据映射到新空间的数据
    fig = plt.figure()
    ax1 = fig.add_subplot(211)
    ax2 = fig.add_subplot(212)
    ax1.scatter(dataset1[:,0],dataset1[:,1],marker='s',s=5,color='red')
    dataset2 = np.array(dataset2)
    ax2.scatter(dataset2[:,0],dataset2[:,1],s=5,color='blue')
 
    plt.show()
    
if __name__ == '__main__':
    dataSetList = []
    fr = open('pca_data_set1.txt')
    for row in fr.readlines():
        cur_line = row.strip().split('\t')
        proce_line = list(map(float,cur_line))
        dataSetList.append(proce_line)
    dataSetList = np.array(dataSetList)
    data = dataSetList
    proccess_data, reconMat = pca(data,topNfeat = 1)
    drawPoints(data,reconMat)

数据分析案例-基于PCA主成分分析法对葡萄酒数据进行分析
m0_64336780的博客
02-04 1万+
葡萄酒作为世界上最早的饮料酒之一,其品质和文化早已被人们所认可。据统计2021年,全球葡萄酒产量260亿升,较2020年下降了近1%,至此已连续3年略低于10年平均水平。2020年我国葡萄酒行业市场规模下滑至498.2亿元,2021年小幅度上涨至510.8亿元。预计2022年我国葡萄酒行业市场规模将进一步上升至587.2亿元。本次实验使用葡萄酒数据集进行主成分分析,最后构建葡萄酒分类模型,用来对葡萄酒的分类。
机器学习系列:(七)用PCA降维
风雪夜归子
06-24 2万+
PCA降维 本章我们将介绍一种降维方法,PCA(Principal Component Analysis,主成分分析)。降维致力于解决三类问题。第一,降维可以缓解维度灾难问题。第二,降维可以在压缩数据的同时让信息损失最小化。第三,理解几百个维度的数据结构很困难,两三个维度的数据通过可视化更容易理解。下面,我们用PCA将一个高维数据降成二维,方便可视化,之后,我们
[Python数据挖掘] PCA降维
swordtraveller的博客
06-07 671
[问题背景] 假定有这样的数据集: 使用Python编制字典如下: data = [[3, 5, 3, 6], [4, 3, 5, 8], [5, 1, 4, 10], [6, 3, 2, 13], [19, 23, 32, 101], [20, 23, 45, 106], [23, 6, ...
数据挖掘算法学习(四)PCA算法
Bonnie的专栏
07-28 3371
算法简介 主成分分析(PrincipalComponentAnalysis,简称PCA)是一种常用的基于变量协方差矩阵对信息进行处理、压缩和抽提的有效方法。主要用于对特征进行降维。 算法假设 数据的概率分布满足高斯分布或是指数型的概率分布。方差高的向量视为主元。
数据挖掘与机器学习————降维之主成分分析法(PCA,Principal components analysis )
BiuFEIMIR的博客
09-21 855
1.概述 PCA(Principal components analysis) 是一种降维方法、一种线性变换。这个变换主要是利用正交变换(基变换),将数据变换到一个新的坐标系,使得原本难以分割的数据变得好分割,即线性无关。 2.数学基础 内积(又名点积、数量积、标量积)、方差、协方差、实对称矩阵、对角化、正交矩阵、正交变换、特征值以及特征向量的求法。 内积: ...
数据挖掘】什么是PCA技术?对于主成分分析(PCA)的降维理解(5月7日学习笔记)
纸羊同学的博客
05-08 2048
1.什么是PCA技术? PCA技术 主成分分析技术,又称主分量分析。主成分分析也称主分量分析,旨在利用降维的思想,把多指标转化为少数几个综合指标。 PCA 主成分分析(Principal Component Analysis,PCA), 是一种统计方法。通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。 主成分分析是对于原先提出的所有变量,将重复的...
python 数据挖掘(7)-- 主从分析 PCA
ouprince
08-09 775
主从分析的主要目的是降维,从而提高数据挖掘的效率,降低计算成本。 主从分析计算步骤如下: (1)设置原始属性 X1,X2,...Xp 的 n 次观测矩阵为: (2)将数据矩阵按列进行心标准化。 (3)求标准化后的相关系数矩阵 R,我们知道这是一个实对称矩阵 (4)求R 的特征根 (5)确定主成分个数 m ,一般取 0.8 (6)计算 m 个相应的特...
数据挖掘学习--主成分分析
m0_37860003的博客
07-27 1504
1.前言 花了好几天的时间去学习数据挖掘里面的主成分分析(principal component analysis , PCA)。PCA是一种常用的无监督学习方法,他作为一种数据降维的方法是很有效的。选择的数据集很经常的都是高维数据,处理起来要么就是处理时间太慢,要么就是训练出来的学习模型精度会很低。同时,这些高维数据里面就有的数据是不相关的,这些特征(维)是我们不需要的。那么对于这种情况,降维是...
数据分析与挖掘之实验 PCA主成分提取
最新发布
06-28
现要求提取该数据集X1~X9的主成分,并设置其累计贡献率达90%,并输出其特征向量和贡献率属性。 现有数据‘Country-data.xlsx’。数据文件包含10列,其第1列为【国家名称】,其余九列我们暂不考虑其具体含义,仅将...
pca.zip_PCA SVD_SVD-pca_SVD分析_pca_主成分分析
07-13
PCA主成分分析)是一种广泛应用于数据分析和降维的技术,其目标是将高维度的数据转换成一组线性无关的新变量,这些新变量被称为主成分。这些主成分是原始数据方差最大的方向,使得数据在较少的维度上可以保留大...
大数据之算法与数据结构-主成分分析
01-03
主成分分析(Principal Component Analysis, PCA)是一种常用的数据降维技术,它通过线性变换将原始数据转换为一组各维度线性无关的表示,从而达到减少数据复杂性、突出主要特征的目的。在本主题,我们将深入探讨...
数据挖掘学习(一):PCA&SVD
Yisnow.的博客
09-11 133
PCA主成分分析_特征创建(数据挖掘入门与实践-实验8)
dc12499574的博客
03-25 181
##############################数据处理 #数据导入 $$ 数据转换 import os import numpy as np import pandas as pd from collections import defaultdict def convert_number(): try: return float(x) except ValueError: return np.nan converters=defaultdi
关于PCA
adminabcd的专栏
06-01 1173
PCA的理解刚开始听到PCA时,只知道它讲的是对数据进行降维,还以为是直接去掉一些数据特征;这几天看了下网上各位牛人的博客(http://blog.csdn.net/abcjennifer/article/details/8002329以及http://blog.csdn.net/watkinsong/article/details/8234766)后,我才知道原来它只是把原来的数据映射到新的空间
主成分分析(PCA)原理及推导
热门推荐
学无常师,负笈不远险阻
12-30 9万+
数据挖掘或者图像处理等领域经常会用到主成分分析,这样做的好处是使要分析的数据的维度降低了,但是数据的主要信息还能保留下来,并且,这些变换后的维两两不相关!至于为什么?那就接着往下看。在本文,将会很详细的解答这些问题:PCA、SVD、特征值、奇异值、特征向量这些关键词是怎么联系到一起的?又是如何在一个矩阵上体现出来?它们如何决定着一个矩阵的性质?能不能用一种直观又容易理解的方式描述出来?
PCA主成分分析应用于人脸识别的MATLAB实现
问天的博客
04-13 7529
主成分分析PCA——人脸识别MATLAB实现 我在学习PCA降维以压缩数据的时候发现可以通过它来实现人脸识别,查阅了大量资料,除了矩阵求导具体推导没有太懂之外,弄懂了所由原理和技术细节,并在ORL_92x112人脸数据集实现了人脸识别。 这篇博客是相当于我的工程说明书,没有涉及PCA的具体原理,时间太紧1551,原理详解可能会在日后给出,fighting! 可以说的一点是PCA人脸识别关键是...
数据挖掘笔记(二)——特征提取之主成分分析PCA
weixin_42524838的博客
06-20 1887
特征提取——PCA主成分分析
PCA主成分分析【机器学习】
石旭先森的博客
05-06 324
参考视频: 吴恩达机器学习 14-3 PCA全称Principal Component Analysis,是数据挖掘常用的一种降维算法,也用于无监督学习。 所谓降维,就是把具有相关性的维度合并,用较少的维度取代原先较多的维度。如果原始向量两两正交,即没有相关性,则PCA也没有作用。 比如x是三维的,x=(年龄,学历,出生年份),我们要把它降维到二维,而年龄和出生年份很相似,所以把这两个合并,得到 z =(年龄,学历)。 直观的感受,这里要尽可能地保证降维后,数据的特性损失最小 问题.
数据挖掘PCA 主成分分析算法过程及原理讲解
BetterBench的博客
07-19 9534
主成分分析(Principalcomponetanalysis,PCA)是一种无监督学习方法,利用正交变换把线性相关变量表示的观测数据转换为几个由线性无关变量表示的数据,线性无关的变量成为主成分。主成分的个数通常小于原始变量的个数,属于降维方法。根据分解协方差矩阵的策略,分为两种PCA方法,第一种是基于特征值分解协方差矩阵实现PCA算法,第二种是基于奇异值分解法(SVD)分解协方差矩阵实现PCA算法。......
数据降维技术:PCA主成分分析详解
数据降维的主要方法包括PCA主成分分析)、LDA(线性判别分析)、LLE(局部线性嵌入)和拉普拉斯特征映射等。 PCA主成分分析)是最常用的线性降维方法,旨在通过线性投影最大化数据在低维空间的方差,以保留...
写文章

热门文章

  • cv2 库的安装 44776
  • matplotlib库—数据可视化 2534
  • 安天逆向教程——常用汇编语句 2063
  • re学习(29)攻防世界-CatFly(复原反汇编) 1802
  • problem(3):python IDE和python解释器 1760

分类专栏

  • PS 2篇
  • AE 2篇
  • 计算机组成原理 2篇
  • computer debugger 5篇
  • CTF Fight!
  • cryptography 15篇
  • reverse 40篇
  • pwn 4篇
  • Web 17篇
  • crackme 1篇
  • misc 4篇
  • reverse knowledge 4篇
  • python实践(数据挖掘) 6篇
  • 第三方库相关功能的实现 3篇
  • 爬虫
  • 小实验
  • 小程序 1篇
  • 计算机网络 3篇
  • 杂七杂八 4篇

最新评论

  • problem(1):VMware网络虚拟编辑器添加VMnet0+IDA远程调试

    m0_73969076: 帮大忙了 感谢博主!!

  • re学习(9)---BUUCTF-re-[FlareOn4]IgniteMe

    Morty100: 请问一下,v4的值是整么得出来的

  • pwn学习(4)BUUCTF-ciscn_2019_n_1(浮点数转十六进制脚本积累)

    I_ET5u5: 就题目而言的话直接去rodata找也是可以找到的

  • re学习(29)攻防世界-CatFly(复原反汇编)

    年度最佳程序猿: 好难啊

  • re学习笔记(2)--xor(BUUCTF)

    术业有专攻,闻道有先后: 0x是16进制的前缀,H是16进制的后缀 都是表示十六进制数,意义上没有什么区别,完全相等。至于什么时候用0x,什么时候用H,这取决于你在什么环境下使用,如果在C/C++,必须用0x来表示。 在C语言中是不能用H的.因为python是用C语言写的,所以也应该用0x表示十六进制

最新文章

  • Web(10)XSS漏洞
  • Web(8)sqlmap工具使用
  • hash函数-Hashcalc工具
2023年88篇
2022年28篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家洛阳商场美陈植物墙石家庄工业玻璃钢雕塑生产基地铜陵玻璃钢雕塑制造厂家河南玻璃钢雕塑摆件销售公司美陈互动道具商场五华区玻璃钢雕塑精准推荐苏州正规玻璃钢雕塑服务至上张家口卡通玻璃钢雕塑安装保定玻璃钢雕塑报价濮阳公园校园玻璃钢景观雕塑玻璃钢现代抽象雕塑厂家直销长春玻璃钢动物雕塑价格镇江设计玻璃钢雕塑费用绵羊玻璃钢雕塑佛山新年玻璃钢卡通雕塑丽水玻璃钢雕塑地址户外玻璃钢雕塑供应厂家桔子玻璃钢卡通雕塑工厂新型玻璃钢卡通雕塑上海佛像玻璃钢雕塑市场都匀玻璃钢雕塑厂有哪些呈贡加工玻璃钢雕塑哪家专业欧式玻璃钢雕塑优势扬州火烈鸟玻璃钢雕塑定做玻璃钢卡通大门雕塑上海商场美陈市场报价室内商场美陈怎么样河源玻璃钢雕塑行情价格云南玻璃钢卡通雕塑制作厂家郑州个性化玻璃钢雕塑设计香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化