package de.daslaboratorium.machinelearning.classifier; import java.util.Collection; /** * A basic wrapper reflecting a classification. It will store both featureset * and resulting classification. * * @author Philipp Nolte * * @param <T> The feature class. * @param <K> The category class. */ public class Classification<T, K> { /** * The classified featureset. */ private Collection<T> featureset; /** * The category as which the featureset was classified. */ private K category; /** * The probability that the featureset belongs to the given category. */ private float probability; /** * Constructs a new Classification with the parameters given and a default * probability of 1. * * @param featureset The featureset. * @param category The category. */ public Classification(Collection<T> featureset, K category) { this(featureset, category, 1.0f); } /** * Constructs a new Classification with the parameters given. * * @param featureset The featureset. * @param category The category. * @param probability The probability. */ public Classification(Collection<T> featureset, K category, float probability) { this.featureset = featureset; this.category = category; this.probability = probability; } /** * Retrieves the featureset classified. * * @return The featureset. */ public Collection<T> getFeatureset() { return featureset; } /** * Retrieves the classification's probability. * @return */ public float getProbability() { return this.probability; } /** * Retrieves the category the featureset was classified as. * * @return The category. */ public K getCategory() { return category; } /** * {@inheritDoc} */ @Override public String toString() { return "Classification [category=" + this.category + ", probability=" + this.probability + ", featureset=" + this.featureset + "]"; } }