【问题标题】:Weka PCA in Java classJava 类中的 Weka PCA
【发布时间】:2014-04-29 10:37:48
【问题描述】:

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

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

【问题讨论】:

  • 编写一个程序为您完成,如果您遇到特定问题,请在此处发布代码,我们可以为您提供帮助。
  • 这就是Kviiri的精神
  • 我已经在我的代码中创建了协方差矩阵。现在,我需要将它传递给 Weka 的 PCA 方法。但是我不确定相应的方法及其实现。我试图搜索 weka 文档以找到必要的方法及其签名。但不幸的是,我没有这样做。

标签: java weka pca


【解决方案1】:

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

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

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

pca.getEigenValues()
pca.getUnsortedEigenVectors()

您查看有关主要组件的信息。您还可以使用

打印摘要
pca.principalComponentsSummary()

打印一个漂亮的摘要,包括组件(在给定的程度上,setMaximumAttributeNames 指定在此摘要中打印多少属性

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    • 1970-01-01
    • 2017-04-06
    • 2014-03-24
    • 2014-11-18
    • 1970-01-01
    相关资源
    最近更新 更多