资源简介

代码片段和文件信息
package com.pca;
import java.math.*;
import a2.ab;
import Jama.Matrix;
public class Pca {
//将原始数据标准化
public double[][] Standardlizer(double[][] x){
int n=x.length; //二维矩阵的行号
int p=x[0].length; //二维矩阵的列号
double[] average=new double[p]; //每一列的平均值
double[][] result=new double[n][p]; //标准化后的向量
double[] var=new double[p]; //方差
//取得每一列的平均值
for(int k=0;k double temp=0;
for(int i=0;i temp+=x[i][k];
}
average[k]=temp/n;
}
//取得方差
for(int k=0;k double temp=0;
for(int i=0;i temp+=(x[i][k]-average[k])*(x[i][k]-average[k]);
}
var[k]=temp/(n-1);
}
//获得标准化的矩阵
for(int i=0;i for(int j=0;j result[i][j]=(double) ((x[i][j]-average[j])/Math.sqrt(var[j]));
}
}
return result;
}
//计算样本相关系数矩阵
public double[][] CoefficientOfAssociation(double[][] x){
int n=x.length; //二维矩阵的行号
int p=x[0].length; //二维矩阵的列号
double[][] result=new double[p][p];//相关系数矩阵
for(int i=0;i
for(int j=0;j
double temp=0;
for(int k=0;k temp+=x[k][i]*x[k][j];
}
result[i][j]=temp/(n-1);
}
}
return result;
}
//计算相关系数矩阵的特征值
public double[][] FlagValue(double[][] x){
//定义一个矩阵
Matrix A = new Matrix(x);
//由特征值组成的对角矩阵
Matrix B=A.eig().getD();
double[][] result=B.getArray();
return result;
}
//计算相关系数矩阵的特征向量
public double[][] FlagVector(double[][] x){
//定义一个矩阵
Matrix A = new Matrix(x);
//由特征向量组成的对角矩阵
Matrix B=A.eig().getV();
double[][] result=B.getArray();
return result;
}
//假设阈值是90%,选取最大的前几个
public int[] SelectPrincipalComponent(double[][] x){
int n=x.length; //二维矩阵的行号列号
double[] a = new double[n];
int[] result = new int[n];
int k=0;
double temp = 0;
int m=0;
double total=0;
for(int i=0;i for(int j=0;j if(i==j){
a[k]=x[i][j];
}
}
k++;
}
double[] temp1=new double[a.length];
System.arraycopy(a 0 temp1 0 a.length);
for(int i=0;i temp=temp1[i];
for(int j=i;j if(temp<=temp1[j]){
temp=temp1[j];
temp1[j]=temp1[i];
}
temp1[i]=temp;
}
}
for(int i=0;i temp=a[i];
for(int j=0;j if(a[j]>=temp){
temp=a[j];
k=j;
}
result[m]=k;
}
a[k]=-1000;
m++;
}
for(int i=0;i total+=temp1[i];
}
int sum=1;
temp=temp1[0];
for(int i=0;i if(temp/total<=0.9){
temp+=temp1[i+1];
sum++;
}
}
int[] end=new int[sum];
System.arraycopy(result 0 end 0 sum);
return end;
}
//取得主成分
public double[][] PrincipalComponent(double[][] xint[] y){
int n=x.length;
double[][] Result=new double[n][y.length];
int k=y.length-1;
for(int i=0;i for(int j=0
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-08-05 17:23 PCATest\
文件 455 2013-08-06 17:15 PCATest\.classpath
文件 383 2013-08-05 15:25 PCATest\.project
目录 0 2013-08-05 15:25 PCATest\.settings\
文件 598 2013-08-05 15:26 PCATest\.settings\org.eclipse.jdt.core.prefs
目录 0 2013-08-06 17:15 PCATest\bin\
目录 0 2013-08-06 17:15 PCATest\bin\com\
目录 0 2013-08-06 17:15 PCATest\bin\com\pca\
文件 3242 2013-08-06 19:26 PCATest\bin\com\pca\Pca.class
文件 4658 2013-08-07 19:48 PCATest\bin\com\pca\Test.class
目录 0 2013-08-06 17:27 PCATest\externalJar\
文件 52232 2013-08-06 17:14 PCATest\externalJar\a2.jar
文件 35981 2013-01-28 16:42 PCATest\externalJar\Jama-1.0.3.jar
目录 0 2013-08-05 15:26 PCATest\src\
目录 0 2013-08-05 15:26 PCATest\src\com\
目录 0 2013-08-05 16:31 PCATest\src\com\pca\
文件 3271 2013-08-06 19:26 PCATest\src\com\pca\Pca.java
文件 2638 2013-08-07 19:48 PCATest\src\com\pca\Test.java
- 上一篇:JAVA实现sql注入点检测
- 下一篇:中国省市区三级联动的JCombobox源代码
相关资源
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
- [免费]java实现有障碍物的贪吃蛇游戏
评论
共有 条评论