|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectde.jstacs.classifier.assessment.ClassifierAssessment
de.jstacs.classifier.assessment.RepeatedHoldOutExperiment
public class RepeatedHoldOutExperiment
This class implements a repeated holdout experiment for assessing classifiers. The methodology used by a repeated holdout experiment is as follows. The user supplies a data-set for each class the classifiers are capable to predict. In each step the given data-sets are randomly, mutually exclusive partitioned into a test- and a train-data-set of user specified size. Afterwards the train-data-sets are used to train the classifiers and the test-data-sets are used to assess the performance of the classifiers to predict the elements therein using user specified assessment-measures. Additional the user defines how often this procedure is repeated.
| Field Summary |
|---|
| Fields inherited from class de.jstacs.classifier.assessment.ClassifierAssessment |
|---|
myAbstractClassifier, myBuildClassifierByCrossProduct, myModel, myTempMeanResultSets, skipLastClassifiersDuringClassifierTraining |
| Constructor Summary | |
|---|---|
|
RepeatedHoldOutExperiment(AbstractClassifier... aCs)
Creates a new RepeatedHoldOutExperiment from a set of AbstractClassifiers. |
|
RepeatedHoldOutExperiment(AbstractClassifier[] aCs,
boolean buildClassifiersByCrossProduct,
Model[]... aMs)
This constructor allows to assess a collection of given AbstractClassifiers and those constructed
using the given AbstractModels by a RepeatedHoldOutExperiment. |
protected |
RepeatedHoldOutExperiment(AbstractClassifier[] aCs,
Model[][] aMs,
boolean buildClassifiersByCrossProduct,
boolean checkAlphabetConsistencyAndLength)
Creates a new RepeatedHoldOutExperiment from an array of AbstractClassifiers and a two-dimensional array
of Models, which are combined to additional classifiers. |
|
RepeatedHoldOutExperiment(boolean buildClassifiersByCrossProduct,
Model[]... aMs)
Creates a new RepeatedHoldOutExperiment from a set of Models. |
| Method Summary | |
|---|---|
protected boolean |
evaluateClassifier(MeasureParameters mp,
ClassifierAssessmentAssessParameterSet assessPS,
Sample[] s,
ProgressUpdater pU)
This method must be implemented in all subclasses. |
| Methods inherited from class de.jstacs.classifier.assessment.ClassifierAssessment |
|---|
assess, assess, assess, getClassifier, getNameOfAssessment, prepareAssessment, test, train |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
protected RepeatedHoldOutExperiment(AbstractClassifier[] aCs,
Model[][] aMs,
boolean buildClassifiersByCrossProduct,
boolean checkAlphabetConsistencyAndLength)
throws IllegalArgumentException,
WrongAlphabetException,
CloneNotSupportedException,
ClassDimensionException
RepeatedHoldOutExperiment from an array of AbstractClassifiers and a two-dimensional array
of Models, which are combined to additional classifiers. If buildClassifiersByCrossProduct is true,
the cross product of all Models in aMs is built to obtain these classifiers.
aCs - the pre-defined classifiersaMs - the Models that are used to build additional classifiersbuildClassifiersByCrossProduct - Determines how classifiers are constructed using the given models. Suppose a k-class problem. In this
case, each classifier is supposed to consist of k models, one responsible for each class. checkAlphabetConsistencyAndLength - indicates if alphabets and lengths shall be checked for consistency
IllegalArgumentException
WrongAlphabetException
CloneNotSupportedException
ClassDimensionException
public RepeatedHoldOutExperiment(AbstractClassifier... aCs)
throws IllegalArgumentException,
WrongAlphabetException,
CloneNotSupportedException,
ClassDimensionException
RepeatedHoldOutExperiment from a set of AbstractClassifiers.
aCs - contains the classifiers to be assessedIllegalArgumentException
WrongAlphabetException - if not all given classifiers are defined on the same AlphabetContainer
ClassDimensionException
CloneNotSupportedException
public RepeatedHoldOutExperiment(boolean buildClassifiersByCrossProduct,
Model[]... aMs)
throws IllegalArgumentException,
WrongAlphabetException,
CloneNotSupportedException,
ClassDimensionException
RepeatedHoldOutExperiment from a set of Models. The argument buildClassifiersByCrossProduct
determines how these Models are combined to classifiers.
buildClassifiersByCrossProduct - aMs - WrongAlphabetException - if not all given models are defines on the same AlphabetContainer
IllegalArgumentException
CloneNotSupportedException
ClassDimensionException
public RepeatedHoldOutExperiment(AbstractClassifier[] aCs,
boolean buildClassifiersByCrossProduct,
Model[]... aMs)
throws IllegalArgumentException,
WrongAlphabetException,
CloneNotSupportedException,
ClassDimensionException
AbstractClassifiers and those constructed
using the given AbstractModels by a RepeatedHoldOutExperiment.
aCs - contains some AbstractClassifier that should be assessed in addition to the
AbstractClassifiers constructed using the given AbstractModelsbuildClassifiersByCrossProduct - aMs - WrongAlphabetException - if not all given models are defines on the same AlphabetContainer
IllegalArgumentException
CloneNotSupportedException
ClassDimensionException| Method Detail |
|---|
protected boolean evaluateClassifier(MeasureParameters mp,
ClassifierAssessmentAssessParameterSet assessPS,
Sample[] s,
ProgressUpdater pU)
throws IllegalArgumentException,
Exception
ClassifierAssessment
evaluateClassifier in class ClassifierAssessmentmp - defines which performance-measures are used to assess classifiersassessPS - containes assessment-specific parameters (like: number of iterations of a k-fold-crossvalidation)s - data to be used for assessment (both: test- and train-data)pU - a ProgressUpdater that mainly has to be used to allow the user to cancel a current
running alssifier assessment. This ProgressUpdater is guaranteed to be not
null. In certain cases aborting a classifier assessment will not be allowed for
example in case of KFoldCrossValidation. In this case the given
ProgressUpdater should be ignored. pU.setMax()= number of iterations of the assessment-loop
assessment-loop
pU.setValue()=iteration+1;
Sample treatment
train();
test();
repeat unless(ready or not(pU.isCanceled()))
IllegalArgumentException - if the given AssessParameterSet is of wrong type
Exception - that occured during training or using classifiers/models
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||