LDA_PCA_SVD导论
来源:互联网 发布:js 位运算符 编辑:程序博客网 时间:2024/06/13 03:00
资源链接 http://download.csdn.net/detail/u012176591/8257297
相关源码:
svd.py
import numpy import random import matplotlib.pyplot as pyplot data = numpy.array([[1,0.6,1,0,0.4],\ [2,1.7,2,0.2,0],\ [1,0,1,0.1,0],\ [3.2,4.8,5,0,0.4],\ [1,1,1.3,2,2],\ [0,0,0,3.2,3],\ [0,0,0,0.9,1]])U,Sigma,VT=numpy.linalg.svd(data)print U.shape,VT.shape,Sigma.shapeprint Sigmai=2colomnclass=data.dot(VT[:i,:].T)print colomnclassrowclass = U[:,:i].T.dot(data)print rowclasspyplot.figure(1)ax1=pyplot.subplot(211)ax2=pyplot.subplot(212)pyplot.sca(ax1)pyplot.plot(colomnclass[:,0],colomnclass[:,1],'s')pyplot.sca(ax2)pyplot.plot(rowclass[0,:],rowclass[1,:],'^')pyplot.show()
PCA_sample.py
# -*- coding: cp936 -*-import numpyimport scipyimport randomimport matplotlib.pyplot as pyplotimport scipy.linalg as linalgimport scipy.stats as statsdef loaddata(): dataset=[] locset =[] center = numpy.array([2,2]) direct = numpy.array([-1,1]) gauss = stats.norm(0,0.6) direct = numpy.divide(numpy.array([-1,1]),linalg.norm(numpy.array([-1,1]))) for i in range(50): bias = random.gauss(0,2)#偏移center的长度 while numpy.abs(bias)>1.6:#限制偏移的幅度 bias = random.gauss(0,0.4) loc =center +bias*center/linalg.norm(center)#投射到45度角上的坐标点 locset.append(loc) gausspdf = gauss.pdf(bias) label =random.random()-0.5 dataset.append(loc+label*gausspdf*direct) return numpy.array(dataset),numpy.array(locset)def plot(dataset,locset): pyplot.plot(dataset[:,0],dataset[:,1],'r^') locset[:,0] = locset[:,0]+0.3;locset[:,1]=locset[:,1]-0.3 pyplot.plot(locset[:,0],locset[:,1],'k+') for i in range(dataset.shape[0]): pyplot.plot([locset[i,0],dataset[i,0]],[locset[i,1],dataset[i,1]],'y--') pyplot.annotate('',xytext=(1.6,1.6),xy=(3.0,3.0),arrowprops=dict(facecolor='black',width =3, shrink=0.01)) pyplot.annotate('',xytext=(1.65,1.65),xy=(1.45,1.85),arrowprops=dict(facecolor='black',width =1, shrink=0.01)) pyplot.text(1.5,1.9,'Noise',color="black",ha="center") pyplot.text(2.8,3,'Signal',color="black",ha="center") pyplot.xlim(0.5,3.5) pyplot.ylim(0.5,3.5) pyplot.xlabel("x axis") pyplot.ylabel("y axis") #pyplot.title("PCA example") pyplot.show()dataset,locset =loaddata()plot(dataset,locset)
本博文的TeX源码:https://code.csdn.net/snippets/610273/master/LDA_PCA_SVD%E5%AF%BC%E8%AE%BA.tex/raw
- Small sample size effects in statistical pattern recognitioin
- Eigenfaces vs. Fisherfaces-Recognition Using Class Specific Linear Projection
- facerec_python
1 0
- LDA_PCA_SVD导论
- 导论
- 导论
- 计算机导论
- 《算法导论》
- 嵌入式导论
- 《算法导论》
- 算法导论
- 《逻辑学导论》
- 导论 --- 第一章
- 云导论
- 嵌入式导论
- MFC导论
- 算法导论
- 管理信息系统导论
- 剪枝导论
- 算法导论
- 算法导论
- Latex中的表格总结
- Linux多进程编程—初步
- A*算法的原理和实现
- 检查输入的用户名是否符合规定
- 为什么创新源自加州硅谷
- LDA_PCA_SVD导论
- 《深入理解Java虚拟机》读书笔记6——Java内存模型和线程
- 宽带叠加,网速累积的方法 合并多个无线网络来提高网速
- 关于java输入初涉
- 【屌丝程序的口才逆袭演讲稿50篇】第一篇:互联网时代U盘化生存方式 【张振华.Jack】
- Codeforces Round #282 (Div. 2)---A. Digital Counter
- hdu3078
- Codeforces Round #282 (Div. 2)---B. Modular Equations
- how do I delete an Eclipse project when I've already deleted the folder and contents?