public double [ ] interpolated11PointPrecision ( ) { double [ ] interpolatedPrecision = new double [ 11 ] ; int numCorrectAtRankI = 0 ; for ( int i = 0 ; i < pairs . length ; i ++ ) { if ( correctPair ( i ) ) ++ numCorrectAtRankI ; double recall = numCorrectAtRankI / ( ( double ) numCorrectPairs ) ; double precision = numCorrectAtRankI / ( i + 1.0 ) ; for ( int j = 0 ; j < elevenPoints . length ; j ++ ) { if ( recall >= elevenPoints [ j ] ) { interpolatedPrecision [ j ] = Math . max ( interpolatedPrecision [ j ] , precision ) ; } } } return interpolatedPrecision ; }
Return an array of interpolated precision at various different recall levels .