[学习笔记] numpy次成分分析和PCA降维
存个代码,以后参考。
numpy次成分分析和PCA降维
SVD分解做次成分分析
原图:

次成分复原图:

代码:
import numpy as np
from numpy import linalg
import cv2 as cv
src = cv.imread("/home/xueaoru/图片/output_3_0.png")
gray = cv.cvtColor(src,cv.COLOR_BGR2GRAY)
S,V,D = linalg.svd(gray)
vv = np.zeros(shape = gray.shape)
h = min(S.shape[0],D.shape[0])
for i in range(int(h * 0.7)):
vv[h-i-1,h-i-1] = V[h-i-1]
out = np.dot(np.dot(S,vv),D)
cv.imshow("out",out.astype(np.uint8))
cv.waitKey(0)
PCA对随机10000个数据降维分析
基于霍特林变换。
dataset = np.random.rand(1000,10) * 10 + 5 #(1000,10)
X = dataset
Ex = np.mean(X,axis = 0).reshape(-1,10).T # (p,1)
Rx = np.cov(X.T)
#S,V,D = linalg.svd(Rx)
eigs,D = linalg.eig(Rx) # val(,10) and vec(10,10)
indices = np.argsort(eigs)
U = D[indices[:-6:-1],:] # 5个 (5,10)
Y = U.dot((X.T - Ex)) # (5,1000) 霍特林变换(5,1000)
print(Y.T)
本程序将10维数据降维成5维,基于霍特林变换。、
[学习笔记] numpy次成分分析和PCA降维的更多相关文章
- Deep Learning 学习笔记(9):主成分分析( PCA )与 白化( whitening )
废话: 这博客有三个月没更新了. 三个月!!!尼玛我真是够懒了!! 这三个月我复习什么去了呢? 托福………… 也不是说我复习紧张到完全没时间更新, 事实上我甚至有时间打LOL. 只是说,我一次就只能( ...
- SPSS学习笔记之——Kaplan-Meier生存分析
SPSS学习笔记之--Kaplan-Meier生存分析 一.概述 关于生存分析的相关概念,Kaplan-Meier用于估计生存函数,允许有一个分组变量进行生存率的组间比较,还容许一个分层变量.若不考虑 ...
- [学习笔记] Numpy基础 系统学习
[学习笔记] Numpy基础 上专业选修<数据分析程序设计>课程,老师串讲了Numpy基础,边听边用jupyter敲了下--理解+笔记. 老师讲的很全很系统,有些点没有记录,在PPT里就不 ...
- Nginx学习笔记4 源码分析
Nginx学习笔记(四) 源码分析 源码分析 在茫茫的源码中,看到了几个好像挺熟悉的名字(socket/UDP/shmem).那就来看看这个文件吧!从简单的开始~~~ src/os/unix/Ngx_ ...
- [学习笔记] NumPy走一趟(持续更)
Numpy学习笔记 之前没有花时间去专门学Numpy,都是用到什么就草草查一下,最近在学DeepLearning,就决定还是系统地把Numpy学一遍. 一.Numpy基础篇 https://www.r ...
- 机器学习公开课笔记(8):k-means聚类和PCA降维
K-Means算法 非监督式学习对一组无标签的数据试图发现其内在的结构,主要用途包括: 市场划分(Market Segmentation) 社交网络分析(Social Network Analysis ...
- 吴恩达机器学习笔记50-主成分分析算法(PCA Algorithm)
PCA 减少
- Hadoop学习笔记—20.网站日志分析项目案例(三)统计分析
网站日志分析项目案例(一)项目介绍:http://www.cnblogs.com/edisonchou/p/4449082.html 网站日志分析项目案例(二)数据清洗:http://www.cnbl ...
- Hadoop学习笔记—20.网站日志分析项目案例
1.1 项目来源 本次要实践的数据日志来源于国内某技术学习论坛,该论坛由某培训机构主办,汇聚了众多技术学习者,每天都有人发帖.回帖,如图1所示. 图1 项目来源网站-技术学习论坛 本次实践的目的就在于 ...
随机推荐
- Kafka使用多个分区时 consumer的Assign配置
天天在给自己挖坑排坑... 因为要开多线程消费,所以分区加到了10,两个broker. Producer没有做特殊处理,所以是随机发到Partitions. 但是Consumer只做Subscribe ...
- ansible 入门学习(一)
一,ansible 目录结构 (来自于ansible权威指南) 二,ansible.cfg 配置项说明 /etc/ansible/ansible.cfg --> ———————————————— ...
- TOJ 2733 棋盘游戏
Description 小 希和Gardon在玩一个游戏:对一个N*M的棋盘,在格子里放尽量多的一些国际象棋里面的“车”,并且使得他们不能互相攻击,这当然很简单,但是 Gardon限制了只有某些格子才 ...
- spring开发中commons-logging.jar包的功能
删除后程序会报错 Java.lang.NoClassDefFoundError 记录日志,通常和 log4j.jar共同使用 原因: 在 sun 开发 logger 前,apache 项目已经开发了 ...
- ACdream 1098——圆有点挤——————【数学计算】
圆有点挤 Time Limit:1000MS Memory Limit:64000KB 64bit IO Format:%lld & %llu Submit Status Pr ...
- Aaja.pro 未定义
问题描述:安装新系统后,将代码迁至新系统,所有用到ajaxpro框架调用ajax方法时均报“xx未定义”的错: 解决问题的过程 : 1.看看你在前台调用的方法的命名空间,方法名和后台的是否对应.在后台 ...
- [转]EntityFramework中常用的数据修改方式
本文转自:http://blog.csdn.net/itmaxin/article/details/47662151 上一篇文章里提到了 EntityFramework中常用的数据删除方式,那么修改对 ...
- 10、选择框:ion-select
!重点 multiple="true" 控制 选择框是 多选还是单选.true为 多选类似 checkbox. /* ---html----*/ <ion-content p ...
- asp.net之cookie
1.创建cookie HttpCookie userCookie = new HttpCookie("userInfo"); userCookie["name" ...
- 05.File类的学习
File 是文件的意思 File类是一个静态类,所以File类是一个工具类 File类是专门操作文件的类 File的常用方法 namespace _16.File类的学习 { class Progr ...