Java类中的Weka PCA

时间:2014-04-29 10:37:49

标签: java weka pca

我有一个表,每行包含一条记录。每个记录的第一个元素(第一列)是对象,其余字段表示对象的某个属性。它是一个m x n矩阵。我想通过在我的java项目中实现weka PCA来计算这个矩阵的第一个主要组成部分。请有人告诉我:

  1. 如何在我的java代码和
  2. 中导入weka PCA方法
  3. 获取第一个主要成分

1 个答案:

答案 0 :(得分:-1)

首先必须使用实例在Weka的数据格式中转换矩阵(基本上实例是行,属性是列)。应该很容易这样做,我认为Weka最终有方法这样做(从双矩阵构建一个Instances对象)

然后你可以按如下方式计算PCA:

PrincipalComponents pca = new PrincipalComponents();
pca.buildEvaluator(dataSet);

pca.getEigenValues()
pca.getUnsortedEigenVectors()

您撤消有关原则组件的信息。您还可以使用

打印摘要
pca.principalComponentsSummary()

打印一个很好的摘要,包括组件(在给定的程度,setMaximumAttributeNames指定在此摘要中打印的属性