@Override
public LabelPredictionWeight<PredictionMap> getCorrectedLabelPredictionWeight(LabelPredictionWeight<PredictionMap> labelPredictionWeight) {
PredictionMap correctedPredictionMap = PredictionMap.newMap();
PredictionMap uncorrectedPrediction = labelPredictionWeight.getPrediction();
double correctedProbability;
for (Serializable key : uncorrectedPrediction.keySet()) {
if (key.equals(negativeLabel)) {
correctedProbability = 1.0 - Utils.correctProbability(dropProbability, 1.0-uncorrectedPrediction.get(key));
correctedPredictionMap.put(key, correctedProbability);
} else {
correctedProbability = Utils.correctProbability(dropProbability, uncorrectedPrediction.get(key));