毫升 | 主成分分析(PCA)

这种方法是由Karl Pearson 介绍的。它的工作条件是,当高维空间中的数据映射到低维空间中的数据时,低维空间中数据的方差应最大。

主成分分析 (PCA) 是一种用于降低大型数据集维数的统计技术。它是机器学习、数据科学和其他处理大型数据集的领域中常用的方法。

  1. PCA 的工作原理是识别数据中的模式,然后创建新变量以捕获尽可能多的数据变化。这些新变量称为主成分,是数据集中原始变量的线性组合。
  2. 第一个主成分捕获数据中最多的变化,第二个主成分捕获第二多,依此类推。创建的主成分数量等于数据集中原始变量的数量。
  3. PCA 可用于多种目的,包括数据可视化、特征选择和数据压缩。在数据可视化中,PCA 可用于将高维数据绘制成二维或三维的图形,使其更易于解释。在特征选择中,PCA 可用于识别数据集中最重要的变量。在数据压缩中,PCA 可用于在不丢失重要信息的情况下减小数据集的大小。

总的来说,PCA 是一种强大的数据分析工具,可以帮助简化复杂的数据集,使其更易于理解和使用。

主成分分析(Principal Component Analysis, PCA)是通过寻找一组新的变量来降低数据集的维度,该变量集小于原始变量集,保留了样本的大部分信息,对数据的压缩和分类很有用。

在PCA中,假设信息是在特征的方差中携带的,即一个特征的方差越大,该特征携带的信息越多。

因此,PCA 采用基于使用最少维数保留数据中最大方差的线性变换。它涉及以下步骤:

1. 构造数据的协方差矩阵。

 2. 计算该矩阵的特征向量。

3.对应于最大特征值的特征向量用于重构原始数据的大部分方差。

数据实例被投影到低维空间,其中新特征在最小二乘意义上最能代表整个数据。

可以证明,在最小二乘误差意义上,通过独立向量的线性组合对 d 维随机向量 x 2 < d 的最优近似是通过将向量 x 投影到对应于最大的特征向量 e 1上获得的从中得出 x 的数据的协方差矩阵(或散点矩阵)的特征值 l 1 。

数据协方差矩阵的特征向量称为数据的主轴,数据实例在这些主轴上的投影称为主成分。然后通过仅保留那些占大部分方差的轴(维度)并丢弃所有其他轴(维度)来获得降维。

主成分分析 (PCA)是一种统计过程,它使用正交变换将一组相关变量转换为一组不相关变量。PCA 是探索性数据分析和预测模型机器学习中使用最广泛的工具。此外,PCA 是一种无监督统计技术,用于检查一组变量之间的相互关系。它也被称为一般因素分析,其中回归确定最佳拟合线。需要的模块: 

  • Python3
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
# Here we are using inbuilt dataset of scikit learn
from sklearn.datasets import load_breast_cancer
 
# instantiating
cancer = load_breast_cancer()
 
# creating dataframe
df = pd.DataFrame(cancer['data'], columns = cancer['feature_names'])
 
# checking head of dataframe
df.head()

输出:

  代码#2: 

  • Python3
# Importing standardscalar module
from sklearn.preprocessing import StandardScaler
 
scalar = StandardScaler()
 
# fitting
scalar.fit(df)
scaled_data = scalar.transform(df)
 
# Importing PCA
from sklearn.decomposition import PCA
 
# Let's say, components = 2
pca = PCA(n_components = 2)
pca.fit(scaled_data)
x_pca = pca.transform(scaled_data)
 
x_pca.shape

输出:

569、2
  • Python3
# giving a larger plot
plt.figure(figsize =(8, 6))
 
plt.scatter(x_pca[:, 0], x_pca[:, 1], c = cancer['target'], cmap ='plasma')
 
# labeling x and y axes
plt.xlabel('First Principal Component')
plt.ylabel('Second Principal Component')

输出:

  • Python3
# components
pca.components_

输出:

  

  • Python3
df_comp = pd.DataFrame(pca.components_, columns = cancer['feature_names'])
 
plt.figure(figsize =(14, 6))
 
# plotting heatmap
sns.heatmap(df_comp)

输出:

PCA的优点:

  1. 降维:PCA 是一种流行的降维技术,它是减少数据集中变量数量的过程。通过减少变量的数量,PCA 简化了数据分析,提高了性能,并使数据更容易可视化。
  2. 特征选择:PCA 可用于特征选择,这是选择数据集中最重要变量的过程。这在机器学习中很有用,其中变量的数量可能非常大,并且很难识别最重要的变量。
  3. 数据可视化:PCA可用于数据可视化。通过减少变量的数量,PCA 可以在两个或三个维度上绘制高维数据,使其更易于解释。

PCA的缺点:

  1. 主成分的解释:PCA创建的主成分是原始变量的线性组合,通常很难用原始变量来解释它们。这会使向其他人解释 PCA 的结果变得困难。
  2. 数据缩放:PCA 对数据的缩放很敏感。如果数据未正确缩放,则 PCA 可能无法正常工作。因此,在应用 PCA 之前缩放数据非常重要。
  3. 信息丢失:PCA 会导致信息丢失。虽然 PCA 减少了变量的数量,但它也可能导致信息丢失。信息丢失的程度取决于所选主成分的数量。因此,仔细选择要保留的主成分数量非常重要。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/6964.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何通过C++ 将数据写入 Excel 工作表

直观的界面、出色的计算功能和图表工具&#xff0c;使Excel成为了最流行的个人计算机数据处理软件。在独立的数据包含的信息量太少&#xff0c;而过多的数据又难以理清头绪时&#xff0c;制作成表格是数据管理的最有效手段之一。这样不仅可以方便整理数据&#xff0c;还可以方便…

aspnet030高校学生团体管理系统sqlserver

net030高校学生团体管理系统 . 1.用户基本信息管理模块&#xff1a;录入、修改、删除、查询、统计、打印等功能 2.学生成绩管理模块&#xff1a;录入、修改、删除、查询、统计、打印等功能 3.学生团体信息管理模块&#xff1a;录入、修改、删除、查询、统计、打印等功能 4.教…

Excel技能之查找筛选排序,同事竖起大拇指

每天面对大量的数据&#xff0c;眼睛都看花了。头疼、脱发、颈椎病、胸闷、腰间盘突出&#xff0c;一系列并发症严重影响打工人的心情。同事看在眼里&#xff0c;痛在心里。 救救打工人吧&#xff01;打工人的福音来了&#xff0c;自从学会了查找筛选排序&#xff0c;手脚利索…

动态规划(一) part1

T1:一个数组 中的最长 升序 子序列 的长度 给你一个整数数组 nums &#xff0c;找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&#xff09;数组中的元素而不改变其余元素的顺序。例如&#xff0c;[3,6,2,7] 是数组…

C 非线性结构——树 万字详解(通俗易懂)

目录 一、树的介绍 1.定义 : 2.相关概念 : 3.简单分类 : 4.相关应用 : 二、树的存储 1.二叉树的存储 : 1 二叉树连续存储 2 二叉树链式存储&#xff08;常用&#xff09; 2.普通树和森林的存储 : 1 普通树的存储 2 森林的存储 三、树的遍历 1.二叉树先序遍历 : 2.二叉…

深度学习训练营之yolov5训练自己的数据集

深度学习训练营之训练自己的数据集原文链接环境介绍准备好数据集划分数据集运行voc_train.py遇到问题完整代码创建new_data.yaml文件模型训练时遇到的报错模型训练结果可视化参考链接原文链接 &#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f…

正则表达式

一、正则表达式的概述 1、概念 正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。 正则表达式是对字符串&#xff08;包括普通字符&#xff08;例如&#xff0c;a 到 z 之间的字母&#xff09;和特殊字符&#xff08;称为“元字符”&#xff09;&#xff09;操…

JVM 程序计数器(PC)

PC寄存器的概念 JVM中的程序计数寄存器&#xff08;Program Counter Register&#xff09;中&#xff0c;Register的命名源于CPU的寄存器&#xff0c;寄存器存储指令相关的现场信息。CPU只有把数据装载到寄存器才能够运行。这里&#xff0c;并非是广义上所指的物理寄存器&#…

【蓝桥杯冲刺】日期类专题特训

目录 1. 日期累加 题目描述 输入 输出 代码 2. 日期差值 题目描述 输入 输出 代码 3. 打印日期 题目描述 输入 输出 代码 写在最后&#xff1a; 1. 日期累加 题目链接&#xff1a;日期累加 题目描述 输入 1 2008 2 3 100 输出 2008-05-13 代码 #include…

如何在 Linux 中查找所有符号链接,这几个命令得会!

在Linux中&#xff0c;符号链接&#xff08;Symbolic Link&#xff09;是一种非常常见的文件类型&#xff0c;也称为软链接。符号链接是指向另一个文件的指针&#xff0c;而不是实际的数据。它允许用户创建一个指向另一个文件的虚拟文件&#xff0c;这样用户可以在不改变实际文…

JVM解析原理

目录1.JVM内存结构2.JIT及时编译器的原理&#xff0c;优化以及切换编译器类型2.1解释型语言和编译语言2.2JIT即时编译器&#xff08;Just In Time Compiler&#xff09;3.类的加载机制和类的加载器3.1类的加载机制3.2类的加载器4.双亲委派机制4.1定义4.2优点4.3总结5.虚拟机栈详…

读破万卷,神交古人,突破ChatGPT4096的Token限制,建立自己的垂直领域资料人工智能助理

ChatGPT的泛用性极高&#xff0c;上知天文&#xff0c;下通地理&#xff0c;参考古今&#xff0c;博稽中外&#xff0c;几乎无所不知&#xff0c;无所不晓。但如果涉及垂直领域的专业知识点&#xff0c;ChatGPT难免也会有语焉不详&#xff0c;闪烁其词的毛病&#xff0c;本次我…

16从零开始学Java之Java里的输入与输出语句有哪些?

作者&#xff1a;孙玉昌&#xff0c;昵称【一一哥】&#xff0c;另外【壹壹哥】也是我哦 CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者 前言 我们在前面的文章中&#xff0c;学习了如何创建Java文件&#xff0c;也学习了Java里的标识符、运算符、进制等内容。有些…

iPhone手机小技巧:使用备忘录创建清单

手机备忘录是非常常用的软件之一&#xff0c;无论是iPhone手机还是安卓系统的手机都可以下载相应的APP进行使用。它可以帮助我们记录很多琐碎的事情&#xff0c;防止我们遗忘某事。 在记备忘录的时候&#xff0c;有的人是直接打字记录的&#xff0c;也没有什么具体的格式&…

Excel–如何区分大小写、精确匹配查找?

最近经常需要用到uuid来匹配数据&#xff0c;经常会遇到两个uuid 只是大小写的区别&#xff0c;数据库里使用是没问题的&#xff0c;因为mysql是可以区分大小写的&#xff0c;但是导出后通过excel处理数据匹配数据时就会出问题 如下图所示&#xff0c;通过vlookup匹配&#xf…

文心一言 VS chatgpt (3)-- 算法导论2.1

一、以图 2-2 为模型&#xff0c;说明INSERTION-SORT 在数组 A(31&#xff0c;41&#xff0c;59&#xff0c;26&#xff0c;41&#xff0c;58)上的执行过程。 文心一言&#xff1a; 以图 2-2 为模型&#xff0c;说明INSERTION-SORT 在数组 A(31&#xff0c;41&#xff0c;59&…

Java基础学习第二十四讲:Stream流

Stream流 一、什么是Stream流 Stream流操作是Java 8提供一个重要新特性&#xff0c;它允许开发人员以声明性方式处理集合&#xff0c;其核心类库主要改进了对集合类的 API和新增Stream操作。Stream类中每一个方法都对应集合上的一种操作。将真正的函数式编程引入到Java中&…

ROS功能包|mav_control_rw(基于MPC的无人机轨迹跟踪控制)---gazebo仿真测试

ROS功能包|mav_control_rw&#xff08;基于MPC的无人机轨迹跟踪控制&#xff09;---gazebo仿真测试gazebo仿真测试gazebo仿真测试 启动gazebo并加载无人机模型 $ roslaunch rotors_gazebo mav.launch mav_name:firefly启动 linear mpc 控制器 $ roslaunch mav_linear_mpc ma…

Win10安装MySql1.5.7

1&#xff09;、下载安装包 地址&#xff1a;MySQL :: Download MySQL Community Server 或者&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1iSLiUo8ehqP6tfxGJ2ewfA 提取码&#xff1a;ctbr 2&#xff09;、下载后解压到指定目录 我的是D:\Program Files\mysql-…

SCS【19】单细胞自动注释细胞类型 (Symphony)

单细胞生信分析教程桓峰基因公众号推出单细胞生信分析教程并配有视频在线教程&#xff0c;目前整理出来的相关教程目录如下&#xff1a;Topic 6. 克隆进化之 CanopyTopic 7. 克隆进化之 CardelinoTopic 8. 克隆进化之 RobustCloneSCS【1】今天开启单细胞之旅&#xff0c;述说单…