【机器学习随笔】PCA降维与SVD

news/2024/9/19 9:06:47 标签: 机器学习, 人工智能

这块主要参考这个博文,写的很好:一文让你彻底搞懂主成成分分析PCA的原理及代码实现(超详细推导)
唯一的疑问是这份代码,自己跑出来的结果第二维数据的符号与原文符号正好相反。有朋友看到可以跑出来一起看下结果:

import numpy as np
from sklearn.decomposition import PCA

# 3 x 5 , 3维特征,5组数据
data = np.array([[-1,-1,0,2,1],[2,0,0,-1,-1],[2,0,1,1,0]], dtype=np.float)
k = 2

pca = PCA(n_components=k)
# 注意转置
new_data = pca.fit_transform(data.T)
# 降维后的数据各个维度特征 所占信息比例
ratios = pca.explained_variance_ratio_

print(new_data,ratios)
# 输出
[[ 2.50856792 -0.76054613]
 [ 0.59089386  1.31546989]
 [ 0.19057608 -0.02787302]
 [-1.84517782 -0.93519683]
 [-1.44486004  0.40814608]]
 [0.7801724  0.21479774]

自测输出:

[[ 2.50856792  0.76054613]
 [ 0.59089386 -1.31546989]
 [ 0.19057608  0.02787302]
 [-1.84517782  0.93519683]
 [-1.44486004 -0.40814608]]
  [0.7801724  0.21479774]

额。。。找到根源,具体原因未知:在python3.11.15下是自测的结果,在python3.9.19的情况下是第一种结果,可能和变换的轴方向不一样


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

相关文章

软件卸载工具(windows系统)-geek

有时候软件卸载会很麻烦,使用geek会比较方便。但是针对一些特别大的软件,geek也好像会稍微费点劲(比如MATLAB2022A),不过针对一般常规软件的卸载,geek就可以有效地完全卸载了,使用方法也很简单,…

PHP邮箱系统:从入门到实战搭建教程指南!

PHP邮箱系统配置教程?如何选用合适的PHP邮箱系统库? 为了满足个性化和定制化的需求,许多开发者选择使用PHP来搭建自己的邮箱系统。AokSend将带你从入门到实战,详细介绍如何搭建一个功能完善的PHP邮箱系统。 PHP邮箱系统&#xf…

24年蓝桥杯及攻防世界赛题-MISC-3

21 reverseMe 复制图片,在线ocr识别,https://ocr.wdku.net/,都不费眼睛。 22 misc_pic_again ┌──(holyeyes㉿kali2023)-[~/Misc/tool-misc/zsteg] └─$ zsteg misc_pic_again.png imagedata … text: “$$KaTeX parse error: Undefined…

PMP--二模--解题--1-10

文章目录 4.整合管理--商业文件--商业论证(是否值得所需投资、高管们决策的依据)反映了:1、 [单选] 收到新项目的客户请求之后,项目经理首先应该做什么? 14.敏捷--角色--产品负责人PO–职责–1.创建待办列表并排序;2.确…

负载均衡服务由几部分组成?分别是什么

负载均衡服务由几部分组成?分别是什么?均衡服务通常由六部分组成,分别是客户端、负载均衡器、后端服务器、负载均衡算法、监控和健康检查及会话保持。这六者互相协同工作,实现了流量的有效分发和系统的高可用性。这种结构不仅提高了系统的容…

41. 如何在MyBatis-Plus中实现批量操作?批量插入和更新的最佳实践是什么?

在 MyBatis-Plus 中,实现批量操作(如批量插入、批量更新)是非常常见的需求。MyBatis-Plus 提供了对批量操作的良好支持,可以通过多种方式实现高效的批量处理。下面详细介绍批量操作的实现方式以及最佳实践。 1. 批量插入 批量插入…

路由器全局配置DHCP实验简述

一、路由器配置 reset saved-configuration Warning: The action will delete the saved configuration in the device. The configuration will be erased to reconfigure. Continue? [Y/N]:y Warning: Now clearing the configuration in the device. Info: Succeeded in c…

使用 Python 实现 Windows 应用图标的便捷生成:一站式 PNG 转 ICO 工具20240918

使用 Python 实现 Windows 应用图标的便捷生成:一站式 PNG 转 ICO 工具 在开发 Windows 桌面应用程序时,图标文件(ICO)的生成是不可忽视的关键步骤。无论是任务栏图标、快捷方式,还是应用程序的主图标,都需…