jcolibri.extensions.maintenance_evaluation.evaluators
Class MaintenanceHoldOutEvaluator
java.lang.Object
jcolibri.evaluation.Evaluator
jcolibri.extensions.maintenance_evaluation.MaintenanceEvaluator
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
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 java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MaintenanceHoldOutEvaluator
public MaintenanceHoldOutEvaluator()
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 casesquerySet
- Where queries are to be storedtestPercent
- Percentage of cases used as queriescaseBase
- 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 basequerySet
- Output param where queries are storedcasebaseSet
- Output param where case base is storedtestPercent
- Percentage of cases used as queries