public List<Triple<F,L,Double>> getTopFeatures(Set<L> labels,
                                                 double threshold, boolean useMagnitude, int numFeatures,
                                                 boolean descending)
  {
    if (labels != null) {
      Set<Integer> iLabels = getLabelIndices(labels);
      return getTopFeaturesLabelIndices(iLabels, threshold, useMagnitude, numFeatures, descending);
    } else {
      return getTopFeaturesLabelIndices(null, threshold, useMagnitude, numFeatures, descending);
    }
  }
public List < Triple < F , L , Double > > getTopFeatures ( Set < L > labels , double threshold , boolean useMagnitude , int numFeatures , boolean descending ) { if ( labels != null ) { Set < Integer > iLabels = getLabelIndices ( labels ) ; return getTopFeaturesLabelIndices ( iLabels , threshold , useMagnitude , numFeatures , descending ) ; } else { return getTopFeaturesLabelIndices ( null , threshold , useMagnitude , numFeatures , descending ) ; } }
Returns list of top features with weight above a certain threshold
@param labels Set of labels we care about when getting features
Use null to get features across all labels
@param threshold  Threshold above which we will count the feature
@param useMagnitude Whether the notion of "large" should ignore
the sign of the feature weight.
@param numFeatures  How many top features to return (-1 for unlimited)
@param descending Return weights in descending order
@return List of triples indicating feature, label, weight