我有一个表,每行包含一条记录。每个记录的第一个元素(第一列)是对象,其余字段表示对象的某个属性。它是一个m x n
矩阵。我想通过在我的java项目中实现weka PCA
来计算这个矩阵的第一个主要组成部分。请有人告诉我:
答案 0 :(得分:-1)
首先必须使用实例在Weka的数据格式中转换矩阵(基本上实例是行,属性是列)。应该很容易这样做,我认为Weka最终有方法这样做(从双矩阵构建一个Instances
对象)
然后你可以按如下方式计算PCA:
PrincipalComponents pca = new PrincipalComponents();
pca.buildEvaluator(dataSet);
用
pca.getEigenValues()
pca.getUnsortedEigenVectors()
您撤消有关原则组件的信息。您还可以使用
打印摘要pca.principalComponentsSummary()
打印一个很好的摘要,包括组件(在给定的程度,setMaximumAttributeNames
指定在此摘要中打印的属性