1.C#中如何编写PCA算法代码?
2.请将此asp代码解密!源码用ZWDECODE解密不全
C#中如何编写PCA算法代码?
PCA的源码处理步骤:1,均值化
2,源码求协方差矩阵(我知道的源码有两种方法,这是源码仿视频网站源码第一种,按部就班的源码仿蛋壳源码求,第二种是源码:(A*A‘/(N-1)))
3,求协方差的源码特征值和特征向量
4,将特征值按照从大到小的源码顺序排序,选择其中最大的源码k个,然后将其对应的源码k个特征向量分别作为列向量组成特征向量矩阵
5,将样本点投影到选取的源码特征向量上
matlab实现源代码
%PCA算法,matlab实现function F=pcad(A,源码众星源码n)%A是M*N
%测试实例A=[2.5,0.5,2.2,1.9,3.1,2.3,2,1,1.5,1.1;2.4,0.7,2.9,2.2,3.0,2.7,1.6,1.1,1.6,0.9]
%结果F=[0.,-1.,源码0.,源码0.,1.,源码的读音0.,-0.,-1.,-0.,源码做坡-1.]
%PCA第一步:均值化
X=A-repmat(mean(A,2),1,size(A,2))%去均值
%PCA第二步:求特征协方差矩阵
B=COV(X')%求协方差
%PCA第三步:求特征协方差矩阵的特征值和特征向量
[v,d]=eig(B)%求特征值和特征向量
%PCA第四步:将特征值按照从大到小的顺序排序
d1=diag(d);%取出对角矩阵,也就是把特征值提出来组成一个新的M*1的d1矩阵
[d2 index]=sort(d1); %特征值以升序排序 d2是排序后的结果 index是数排序以前的排名位置
cols=size(v,2);% 特征向量矩阵的列数
for i=1:cols %对特征向量做相反位置的调整 是个降序排列。这个过程把特征值和特征向量同时做相应的降序排列
vsort(:,i) = v(:,index(cols-i+1) ); % vsort 是一个M*col(注:col一般等于M)阶矩阵,保存的是按降序排列的特征向量,每一列构成一个特征向量
%vsort保存的是协方差矩阵降序后的特征向量,为M*M阶
dsort(i) = d1(index(cols-i+1)); % dsort 保存的是按降序排列的特征值,是一维行向量,1*M
end %完成降序排列
M=vsort(:,1:n)%提取主成分量
%PCA第五步:将样本点投影到选取的特征向量上
F=(X'*M)'%最终的投影
请将此asp代码解密!用ZWDECODE解密不全
以下是解密后代码
、<%'2FlyWorkroom Make
server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(server_v1,8,len(server_v2))<>server_v2 the-
response.write "<br><br><center><table border=1 cellpaddi-g= bordercolor=black bgcolor=#EEEEEE width=>"
response.write "<tr><td style='font:9pt Verdana' alig-='center'>"
respo-se.write "你提交的路径有误,禁止从站点外部提交数据请不要乱该参数!</p>很辛苦的,就放过我吧。 本站点不容易的。。。。<a href='http://www.2fly.c-' target='_blank'><fo-t color='#'>2FlyWorkroom</fo-t></a>!"
response.write "</td></tr></table></center>"
response.end
e-d if
%>