private static Double getProbability(Object object, OutputField outputField) { HasProbability hasProbability = TypeUtil.cast(HasProbability.class, object); String value = getCategoryValue(object, outputField); return hasProbability.getProbability(value); }
public static Double getCategoricalResidual(Object object, FieldValue expectedObject) { HasProbability hasProbability = TypeUtil.cast(HasProbability.class, object); String value = TypeUtil.format(getPredictedValue(object)); String expectedValue = TypeUtil.format(FieldValueUtil.getValue(expectedObject)); boolean equals = TypeUtil.equals(DataType.STRING, value, expectedValue); return Double.valueOf((equals ? 1d : 0d) - hasProbability.getProbability(value)); }