001/**  
002 *  DeepNetts is pure Java Deep Learning Library with support for Backpropagation 
003 *  based learning and image recognition.
004 * 
005 *  Copyright (C) 2017  Zoran Sevarac <sevarac@gmail.com>
006 *
007 *  This file is part of DeepNetts.
008 *
009 *  DeepNetts is free software: you can redistribute it and/or modify
010 *  it under the terms of the GNU General Public License as published by
011 *  the Free Software Foundation, either version 3 of the License, or
012 *  (at your option) any later version.
013 *
014 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
015 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
016 *  GNU General Public License for more details.
017 *
018 *  You should have received a copy of the GNU General Public License
019 *  along with this program.  If not, see <https://www.gnu.org/licenses/>.package deepnetts.core;
020 */
021    
022package javax.visrec.ml.eval;
023
024/**
025 * All evaluators implement this interface.
026 *  Maybe move to visrec.ml.eval
027 * CONSIDER: using more specific model type instead of general model class? Classifier, Regressor?
028 *
029 * @param <T1> Model class
030 * @param <T2> Data set class
031 *
032 * @author Zoran Sevarac
033 * @since 1.0
034 */
035@FunctionalInterface
036public interface Evaluator<T1, T2> {
037    
038    /**
039     * Evaluate model with specified data set.
040     * Return Map with performance metrics and values?
041     * {@code Map<String, PerformanceMeasure>} ili {@code Map<Object, PerformanceMeasure>}
042     *
043     * @param model A model to evaluate
044     * @param testSet Data to use for evaluation
045     * @return performance measures of a model for the specified test set
046     */    // evaluatePerformance       testDataSet
047    PerformanceMeasure evaluatePerformance(T1 model, T2 testSet); // kako ce da vrati rezultate testiranja - napraviti neku klasu za to?
048    
049}