如何确定PCA降维的维度

2024-08-22 17:58
文章标签 确定 维度 降维 pca

本文主要是介绍如何确定PCA降维的维度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

主要是对西瓜书里面的一个思路的实现,并不涉及PCA原理和公式推导,用一句话总结PCA,在 R d R^{d} Rd中的m个点经过矩阵变换(压缩)映射到 R d ′ R^{d'} Rd空间中,并且保证 d ′ < d d'<d d<d,其中 d ′ d' d是新维度。

用矩阵表示: Z d ′ ∗ m = W d ′ ∗ d T ∗ X d ∗ m Z_{d'*m}=W^{T}_{d'*d} * X_{d*m} Zdm=WddTXdm
其中下标是矩阵行列数,和现实里面刚好反过来;Z是样本转换后的矩阵,X是样本最初的矩阵,W是转换(投影)矩阵。

文章目录

      • 一、思路
      • 二、代码实现
      • 三、补充资料

一、思路

在这里插入图片描述
周志华老师《机器学习》P231

二、代码实现

主要是通过sklearn实现,比较简单

def get_pca(X,threshold):pca=PCA()pca.fit(X)variance_ratio=pca.explained_variance_ratio_s=0for i in range(len(variance_ratio)):s=s+variance_ratio[i]if s>=threshold:breaknew_dim=i+1components=pca.components_change_matrix=components[0:new_dim,:]norm_X=X-np.mean(X,axis=0)X_pca=np.matmul(norm_X,change_matrix.T)return X_pca

后来我用PCA(n_components=new_dim).fit_transform(X)和这个函数的结果对比过,主要是数值的精度不同,结果都正确。

三、补充资料

原理可以去看看这篇博客主成分分析(PCA)原理详解

另外花书的第二章和西瓜书的第十章都有比较详细的原理讲解以及公式推导。

这篇关于如何确定PCA降维的维度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1096989

相关文章

如何确定 Go 语言中 HTTP 连接池的最佳参数?

确定 Go 语言中 HTTP 连接池的最佳参数可以通过以下几种方式: 一、分析应用场景和需求 并发请求量: 确定应用程序在特定时间段内可能同时发起的 HTTP 请求数量。如果并发请求量很高,需要设置较大的连接池参数以满足需求。例如,对于一个高并发的 Web 服务,可能同时有数百个请求在处理,此时需要较大的连接池大小。可以通过压力测试工具模拟高并发场景,观察系统在不同并发请求下的性能表现,从而

日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个 嫌疑犯的一个。以下为4个嫌疑犯的供词。

日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个 嫌疑犯的一个。以下为4个嫌疑犯的供词。 A说:不是我。 B说:是C。 C说:是D。 D说:C在胡说 已知3个人说了真话,1个人说的是假话。 现在请根据这些信息,写一个程序来确定到底谁是凶手。  static void Main()         {             int killer = 0;             fo

保研 比赛 利器: 用AI比赛助手降维打击数学建模

数学建模作为一个热门但又具有挑战性的赛道,在保研、学分加分、简历增色等方面具有独特优势。近年来,随着AI技术的发展,特别是像GPT-4模型的应用,数学建模的比赛变得不再那么“艰深”。通过利用AI比赛助手,不仅可以大大提升团队效率,还能有效提高比赛获奖几率。本文将详细介绍如何通过AI比赛助手完成数学建模比赛,并结合实例展示其强大功能。 一、AI比赛助手的引入 1. 什么是AI比赛助手? AI比

SVD降维

文章目录 一、SVD降维的基本原理二、SVD降维的步骤三、SVD降维的优点四、SVD降维的应用五、代码应用六、SVD降维的局限性 一、SVD降维的基本原理 SVD是线性代数中的一种技术,它将一个矩阵A分解为三个矩阵的乘积:A = UΣV^T。其中,U和V是正交矩阵,Σ是对角矩阵,对角线上的元素称为奇异值。这些奇异值表示了矩阵A在各个方向上的“重要性”或“能量”。 在降维过程中,

当网工,华为认证哪种适合我?四个维度来解惑

随着网络技术的不断进步,对网工的专业技能要求也越来越高。 在这种背景下,获得权威认证成为了提升个人技能、证明专业能力的重要途径。 华为,作为全球领先的ICT解决方案提供商,其认证项目在业界享有极高的声誉。 华为认证不仅涵盖了网络技术的各个方面,还根据不同的技能水平和职业发展阶段,提供了不同级别的认证,包括HCIA、HCIP、HCIE。 这些认证不仅有助于网络工程师提升自己的技术水平,也是企业在招聘

【压力测试】如何确定系统最大并发用户数?

一、明确测试目的与了解需求 明确测试目的:首先需要明确测试的目的,即为什么要确定系统的最大并发用户数。这通常与业务需求、系统预期的最大用户负载以及系统的稳定性要求相关。 了解业务需求:深入了解系统的业务特性,包括用户行为模式、业务高峰期的时间段、用户请求的复杂程度等。 二、进行基准测试 确定正常负载下的性能:在开始压力测试之前,进行基准测试以确定系统在正常负载下的性能表现。这有助

《机器学习》PCA数据降维 推导、参数讲解、代码演示及分析

目录 一、主成分分析 1、什么是主成分分析? 2、什么是降维? 3、如何进行主成分分析         1)数据标准化         2)计算协方差矩阵         3)计算特征值和特征向量         4)选择主成分         5)构建投影矩阵         6)数据降维 4、为什么要进行主成分分析         1)数据可视化         2)

《机器学习》—— PCA降维

文章目录 一、PCA降维简单介绍二、python中实现PCA降维函数的介绍三、代码实现四、PCA降维的优缺点 一、PCA降维简单介绍 PCA(主成分分析,Principal Component Analysis)是一种常用的数据降维技术。它通过线性变换将原始数据转换到新的坐标系统中,使得任何投影的第一大方差在第一个坐标(称为第一主成分)上,第二大方差在第二个坐标(第二主成分)上,

【HDU】1285 确定比赛名次 拓扑排序

确定比赛名次 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 10963    Accepted Submission(s): 4374 Problem Description 有N个比赛队(1<=N<=500),

【生成模型系列(中级)】词向量维度选择的奥秘——从理论到实验的揭秘【通俗理解,代码模拟】

【通俗理解】词向量维度选择的奥秘——从理论到实验的揭秘 关键词提炼 #词向量 #维度选择 #最小熵原理 #Johnson-Lindenstrauss引理 #注意力机制 #图网络 第一节:词向量维度选择的类比与核心概念【尽可能通俗】 1.1 词向量维度选择的类比 词向量维度选择就像为一场复杂的烤肉方子挑选合适的食材和分量。 每个词就像是烤肉中的不同食材,而维度就像是每种食材所需的分量。