jcolibri.extensions.maintenance_evaluation.evaluators
Class MaintenanceHoldOutEvaluator

java.lang.Object
  extended by jcolibri.evaluation.Evaluator
      extended by jcolibri.extensions.maintenance_evaluation.MaintenanceEvaluator
          extended by jcolibri.extensions.maintenance_evaluation.evaluators.MaintenanceHoldOutEvaluator

public class MaintenanceHoldOutEvaluator
extends MaintenanceEvaluator

This evaluation splits the case base in two sets: a training set and a test set. The training set is used as a case-base. It is maintained and then the cases in the test set are used as queries to evaluate the training set. This process is performed serveral times.

Author:
Lisa Cummins., Juan A. Recio García - GAIA http://gaia.fdi.ucm.es

Field Summary
 
Fields inherited from class jcolibri.extensions.maintenance_evaluation.MaintenanceEvaluator
app, editMethod, PERCENT_REDUCED, simConfig
 
Fields inherited from class jcolibri.evaluation.Evaluator
report
 
Constructor Summary
MaintenanceHoldOutEvaluator()
           
 
Method Summary
 void HoldOut(int testPercent, int repetitions)
          Performs the Hold-Out evaluation.
protected  void prepareCases(java.util.Collection<CBRCase> originalCases, java.util.List<CBRCase> querySet, int testPercent, CBRCaseBase caseBase)
          Prepares the cases for evaluation by setting up test and training sets
static void splitCaseBase(java.util.Collection<CBRCase> wholeCaseBase, java.util.List<CBRCase> querySet, java.util.List<CBRCase> casebaseSet, int testPercent)
          Splits the case base in two sets: queries and case base
 
Methods inherited from class jcolibri.extensions.maintenance_evaluation.MaintenanceEvaluator
editCaseBase, init, init, setEditMethod, setSimConfig
 
Methods inherited from class jcolibri.evaluation.Evaluator
getEvaluationReport
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MaintenanceHoldOutEvaluator

public MaintenanceHoldOutEvaluator()
Method Detail

HoldOut

public void HoldOut(int testPercent,
                    int repetitions)
Performs the Hold-Out evaluation.

Parameters:
testPercent - percentage of the case base used as queries. The case base is split randomly in each repetition.
repetitions - number of repetitions.

prepareCases

protected void prepareCases(java.util.Collection<CBRCase> originalCases,
                            java.util.List<CBRCase> querySet,
                            int testPercent,
                            CBRCaseBase caseBase)
Prepares the cases for evaluation by setting up test and training sets

Parameters:
originalCases - Complete original set of cases
querySet - Where queries are to be stored
testPercent - Percentage of cases used as queries
caseBase - The case base

splitCaseBase

public static void splitCaseBase(java.util.Collection<CBRCase> wholeCaseBase,
                                 java.util.List<CBRCase> querySet,
                                 java.util.List<CBRCase> casebaseSet,
                                 int testPercent)
Splits the case base in two sets: queries and case base

Parameters:
wholeCaseBase - Complete original case base
querySet - Output param where queries are stored
casebaseSet - Output param where case base is stored
testPercent - Percentage of cases used as queries

GAIA - Group for Artificial Intelligence Applications
http://gaia.fdi.ucm.es