如何根据每一行的分数对矩阵进行排名

时间:2019-07-15 04:28:13

标签: java arraylist

我想基于每一行的得分对矩阵的行进行排名,并且使用互信息来计算该得分。矩阵有14行,它们的值不同,但是当我尝试在这一行中用分数打印时

System.out.println(array+" "+score);

它只显示第一行重复14次而得分正确(它是针对矩阵的不同行计算的)

这是代码

MutualInformation mutuObject= null;
System.out.println("calculateMutualInformation "); 
double []  fX =new double [numberofrows]; 
int rows=0, cols=0;
List<Double> array=  new ArrayList<Double>();
for(int r = 0; r < numberoffeatures-1; r++) 
{
    rows=rowlist.get(r);
    cols= collist.get(r);  
    for(int c = 0; c < numberofrows; c++)
    {
        int valf= datasetMat[c][r];
        fX[c] = valf;
        // System.out.print (fX3[c]+ " ");
        array.add(fX[c]);
    }
    double score= mutuObject.calculateMutualInformation(fX3,colclassVec); 
    System.out.println(array+" "+score);
}

System.out.println("the array" +array);
Collections.sort(array,Collections.reverseOrder());
System.out.println("Sorted List : " + array);
array = array.subList(0,10);
System.out.println("ranked List : " + array);

谢谢

0 个答案:

没有答案