爱情 (1) 安装 (2) 北斗 (1) 毕业 (1) 变量 (1) 测绘局 (1) 测量 (2) 插件 (1) 查询 (1) 常用 (1) 成果转化 (1) 词汇 (1) 慈善 (1) 答辩 (2) 代码 (2) 电台 (1) 发泄 (1) 感悟 (4) 高程 (1) 搞笑 (5) 共产党 (1) 古诗词 (1) 管理 (1) 函数 (3) 绘图 (1) 加密 (1) 交际 (1) 教程 (4) 教育 (2) 解决 (4) 解密 (1) 精度 (1) 酒桌 (2) 开源 (2) 科技 (1) 科学 (1) 刻录 (1) 老外 (1) 励志 (5) 连续剧 (1) 恋爱 (1) 列表 (1) 领导 (1) 美食 (2) 名人 (3) 命令 (4) 区别 (1) 日记 (2) 软件 (12) 商业 (3) 时政 (1) 视频 (1) 数据 (1) 算法 (1) 投影 (2) 图论 (1) 网络 (1) 网站 (1) 卫星 (3) 未成年 (1) 慰问 (1) 文本 (1) 文件 (2) 下载 (4) 笑话 (2) 学习 (9) 遥感 (1) 疑问 (5) 营销 (1) 娱乐 (3) 源代码 (2) 政策 (1) 指导 (3) 智慧 (5) 主成分分析 (2) 抓图 (1) 专家 (1) 资料 (5) 字符串 (1) 最短路径 (1) 坐标 (1) baidu (3) Bernese (1) blog (2) c# (9) China (3) Dijkstra (1) DNS (1) doris (1) dos (1) excel (1) firefox (3) GAMIT (8) gcc (1) GIS (3) GMT (1) GPS (5) ITRF (1) linux (5) mapx (1) matlab (6) movie (4) music (3) oracle (2) pic (1) PPT (3) PROJ.4 (2) python (2) QQ (2) rinex (1) shell (2) sql (1) teqc (3) tools (1) tps (1) ubuntu (5) USA (1) website (1)

博客归档

2010年5月13日星期四

主成分分析(PCA)Matlab源码

主成分分析(PCA)Matlab源码

principal component analysis(PCA)主成分分析,Matlab实例代码
  1. function main()
  2. %*************主成份分析************
  3. %
  4. %see also http://www.matlabsky.com
  5. %
  6. %读入文件数据
  7. X=load('data.txt');
  8. %==========方法1:求标准化后的协差矩阵,再求特征根和特征向量=================
  9. %标准化处理
  10. [p,n]=size(X);
  11. for j=1:n
  12. mju(j)=mean(X(:,j));
  13. sigma(j)=sqrt(cov(X(:,j)));
  14. end
  15. for i=1:p
  16. for j=1:n
  17. Y(i,j)=(X(i,j)-mju(j))/sigma(j);
  18. end
  19. end
  20. sigmaY=cov(Y);
  21. %求X标准化的协差矩阵的特征根和特征向量
  22. [T,lambda]=eig(sigmaY);
  23. disp('特征根(由小到大):');
  24. disp(lambda);
  25. disp('特征向量:');
  26. disp(T);
  27. %方差贡献率;累计方差贡献率
  28. Xsum=sum(sum(lambda,2),1);
  29. for i=1:n
  30. fai(i)=lambda(i,i)/Xsum;
  31. end
  32. for i=1:n
  33. psai(i)= sum(sum(lambda(1:i,1:i),2),1)/Xsum;
  34. end
  35. disp('方差贡献率:');
  36. disp(fai);
  37. disp('累计方差贡献率:');
  38. disp(psai);
  39. %综合评价....略
复 制代码

本帖隐藏的内容需要回复才可以浏览

  1. %
  2. %
  3. %============方法2:求X的相关系数矩阵,再求特征根和特征向量================
  4. %X的标准化的协方差矩阵就是X的相关系数矩阵
  5. R=corrcoef(X);
  6. %求X相关系数矩阵的特征根和特征向量
  7. [TR,lambdaR]=eig(R);
  8. disp('特征根(由小到大):');
  9. disp(lambdaR);
  10. disp('特征向量:');
  11. disp(TR);
复制 代码

没有评论:

发表评论

浏览统计