统计学补充概念10-PCA主成分分析

概念

主成分分析(Principal Component Analysis,PCA)是一种常用的降维技术,用于减少数据集的维度并提取数据中的主要信息。它通过线性变换将原始数据投影到新的坐标系中,使得新坐标系的方差最大化,从而捕捉数据中的主要变化模式。

主成分分析的基本思想是将原始数据投影到一个方向上,使得投影数据的方差最大化。然后,找到下一个方向,使得投影数据在这个新方向上的方差最大化,同时与前一个方向正交。这样逐步找到多个正交方向,这些方向称为主成分,它们按照方差从大到小排列。

基本步骤

标准化数据:首先,需要对原始数据进行标准化,使得不同维度的变量具有相同的尺度。这样可以确保在计算协方差矩阵时,不同维度的权重不会被尺度影响。

计算协方差矩阵:计算标准化后的数据的协方差矩阵,以评估不同维度之间的关系。

计算特征向量和特征值:通过对协方差矩阵进行特征分解,得到特征向量和特征值。特征向量表示主成分的方向,而特征值表示数据在对应方向上的方差。

选择主成分:根据特征值的大小,选择要保留的主成分数量。通常,选择特征值最大的前几个主成分,以保留数据中最大的方差。

投影数据:将原始数据投影到所选择的主成分上,得到降维后的数据。

代码实现

import numpy as np
from sklearn.decomposition import PCA
from sklearn.datasets import load_iris

# 加载鸢尾花数据集
data = load_iris()
X = data.data

# 创建PCA模型并降维
pca = PCA(n_components=2)  # 降到2维
X_pca = pca.fit_transform(X)

# 输出降维后的数据
print(X_pca)


http://www.niftyadmin.cn/n/4959289.html

相关文章

day 36 | ● 416. 分割等和子集

416. 分割等和子集 利用滚动数组的方式进行。 因为要求是分割等和数组,所以设立一个可以容纳一半元素的背包,最后判定背包里放的是不是恰好是一半。 由于是01背包 滚动数组的形式,所以遍历顺序肯定是倒序遍历,否则就会重复。 fu…

【HDFS】BlockSender发送数据源码详解

本文包含如下内容: 1、BlockSend在发送数据之前读数据文件和meta文件生成的Packet的结构。 2、BlockSender的核心方法:sendBlock和sendPacket。 前言: BlockSender#sendBlock有几处调用场景,分别是: 1、copyBlock,用于balancing; 2、DataTransfer#run,用于pipeline恢复…

Linux 中查看文件第n行内容的命令(实战案例)

Linux 中查看文件第n行内容的命令实战案例 方法1: head -m filename | tail -1 //查看filename文件的第m行(tail -1 是数字1) head -n (数字)(文件名):数字为正数 显示前多少行的文…

前端食堂技术周刊第 95 期:Fresh 1.4、Rollup 迁移至 SWC计划、RSC Devtools、使用开源库的边界、AI 帮你讲论文

美味值:🌟🌟🌟🌟🌟 口味:冰葡美式 食堂技术周刊仓库地址:https://github.com/Geekhyt/weekly 大家好,我是童欧巴。欢迎来到前端食堂技术周刊,我们先来看下…

Git+Gitee使用分享

GitGitee快速入门 创建仓库 ​ ​ ​ 初始化本地仓库 验证本地git是否安装好 打开cmd窗口,输入git ​ 这样就OK。 Git 全局设置:(只需要设置一次) 这台电脑如果是第一次使用git,就需要这样初始化一下,这样才知道是谁提交到仓库了。 git confi…

大数据向量检索的细节问题

背景:现有亿级别数据(条数),其文本大小约为150G,label为字符串,content为文本。用于向量检索,采用上次的试验进行,但有如下问题需要面对: 1、向量维度及所需空间 向量维度一版采用768的bert系列的模型推理得到,openai也有类似的功能,不过是2倍的维度(即1536),至…

二、5.单线程与多线程调度

任务轮转工作由任务调度器来完成的,任务调度器就是操作系统中用于把任务轮流调度上处理器运行的一个软件模块,它是操作系统的一部分。调度器在内核中维护一个任务表(也称进程表、线程表或调度表),然后按照一定的算法&a…