package de.fub.agg2graph.gpseval; import de.fub.agg2graph.gpseval.data.filter.TrackFilter; import de.fub.agg2graph.gpseval.data.filter.WaypointFilter; import de.fub.agg2graph.gpseval.features.Feature; import java.util.List; import java.util.Map; /** * A Config provides all information that is necessary to run a TestCase. * * <p>This includes a mapping from class-names to folders, which contain the * GPS-data-files for the respective class. Moreover it includes filters (for * tracks and GPS-waypoints), the feature set and other parameters like the size * of the training set, which should be used.</p> * * @see de.fub.agg2graph.gpseval.TestCase */ public interface Config { /** * Get the mapping from class-names to folders, which contain the * GPS-data-files of the respective class. * * @return */ public Map<String, List<String>> getClassesFolderMapping(); /** * Get the feature set as a list of * {@link de.fub.agg2graph.gpseval.features.Feature Feature}-instances. * * @return */ public List<Feature> getFeatures(); /** * Get the filters for tracks as a list of * {@link de.fub.agg2graph.gpseval.data.filter.TrackFilter TrackFilter}-instances. * * @return */ public List<TrackFilter> getTrackFilters(); /** * Get the filters for GPS-waypoints as a list of * {@link de.fub.agg2graph.gpseval.data.filter.WaypointFilter WaypointFilter}-instances. * * @return */ public List<WaypointFilter> getWaypointFilters(); /** * Get the size which should be used for the training-set. This is a value * between 0 and 1 (exclusive). * * @return A value between 0 and 1. */ public double getTrainingSetSize(); /** * Get the number of folds used for cross validation. * * @return */ public int getCrossValidationFolds(); /** * Get the name of the config. * * @return */ public String getName(); }