/** * Trains the learning algorithm given a feature vector as an example. This simply converts the * example object into arrays and passes it to {@link #learn(int[],double[],int[],double[])}. * * @param vector An example of the desired learned classifier's behavior. **/ public void learn(FeatureVector vector) { Classifier saveExtractor = getExtractor(); Classifier saveLabeler = getLabeler(); setExtractor(new FeatureVectorReturner()); setLabeler(new LabelVectorReturner()); learn((Object) vector); setExtractor(saveExtractor); setLabeler(saveLabeler); }
/** * Returns the value of the discrete prediction that this learner would make, given a feature * vector. * * @param vector The example vector. * @return The discrete value. **/ public String discreteValue(FeatureVector vector) { Classifier saveExtractor = getExtractor(); Classifier saveLabeler = getLabeler(); setExtractor(new FeatureVectorReturner()); setLabeler(new LabelVectorReturner()); String result = discreteValue((Object) vector); setExtractor(saveExtractor); setLabeler(saveLabeler); return result; }
/** * Returns the value of the real prediction that this learner would make, given a feature * vector. * * @param vector The example vector. * @return The real value. **/ public double realValue(FeatureVector vector) { Classifier saveExtractor = getExtractor(); Classifier saveLabeler = getLabeler(); setExtractor(new FeatureVectorReturner()); setLabeler(new LabelVectorReturner()); double result = realValue((Object) vector); setExtractor(saveExtractor); setLabeler(saveLabeler); return result; }
/** * This method makes one or more decisions about a single feature vector, returning those * decisions as {@link Feature}s in a vector. * * @param vector The vector to make decisions about. * @return A vector of {@link Feature}s about the input vector. **/ public FeatureVector classify(FeatureVector vector) { Classifier saveExtractor = getExtractor(); Classifier saveLabeler = getLabeler(); setExtractor(new FeatureVectorReturner()); setLabeler(new LabelVectorReturner()); FeatureVector result = classify((Object) vector); setExtractor(saveExtractor); setLabeler(saveLabeler); return result; }
/** * Returns the classification of the given feature vector as a single feature instead of a * {@link FeatureVector}. * * @param vector The vector to classify. * @return The classification of <code>vector</code> as a feature. **/ public Feature featureValue(FeatureVector vector) { Classifier saveExtractor = getExtractor(); Classifier saveLabeler = getLabeler(); setExtractor(new FeatureVectorReturner()); setLabeler(new LabelVectorReturner()); Feature result = featureValue((Object) vector); setExtractor(saveExtractor); setLabeler(saveLabeler); return result; }
/** * Produces a set of scores indicating the degree to which each possible discrete classification * value is associated with the given feature vector. Learners that return a <code>real</code> * feature or more than one feature may implement this method by simply returning * <code>null</code>. * * @param vector The vector to make decisions about. * @return A set of scores indicating the degree to which each possible discrete classification * value is associated with the given example vector. **/ public ScoreSet scores(FeatureVector vector) { Classifier saveExtractor = getExtractor(); Classifier saveLabeler = getLabeler(); setExtractor(new FeatureVectorReturner()); setLabeler(new LabelVectorReturner()); ScoreSet result = scores((Object) vector); setExtractor(saveExtractor); setLabeler(saveLabeler); return result; }