|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectir.classifiers.CVLearningCurve
public class CVLearningCurve
Gives learning curves with K-fold cross validation for a classifier.
| Field Summary | |
|---|---|
protected Classifier |
classifier
The classifier for which K-fold CV learning curve has to be generated |
protected boolean |
debug
Flag for debug display |
protected static double[] |
DEFAULT_POINTS
Default points |
protected java.util.Vector<Example>[][] |
foldBins
foldBins[i][j] stores the examples for class i in fold j. |
protected int |
numClasses
Number of classes in the data |
protected int |
numFolds
Number of folds of cross validation to run |
protected double[] |
points
Points on the X axis (percentage of train data) to plot |
protected long |
randomSeed
Seed for random number generator |
protected PointResults[] |
testResults
Accuracy results for test data, one PointResults for each point on the curve |
protected double |
testTime
Total Testing time |
protected int |
testTimeNum
Total number of examples tested in test time |
protected java.util.Vector<Example>[] |
totalExamples
Stores all the examples for each class |
protected int |
totalNumTrain
Total number of training examples per fold |
protected PointResults[] |
trainResults
Accuracy results for training data, one PointResults for each point on the curve |
protected double |
trainTime
Total Training time |
| Constructor Summary | |
|---|---|
CVLearningCurve(Classifier c,
java.util.List<Example> examples)
Creates a CVLearning curve object with 10 folds and default points |
|
CVLearningCurve(int nfolds,
Classifier c,
java.util.List<Example> examples,
double[] points,
long randomSeed,
boolean debug)
Creates a CVLearning curve object |
|
| Method Summary | |
|---|---|
void |
binExamples()
Set the fold Bins from the total Examples -- this effectively stores the training-test split |
Classifier |
getClassifier()
Return classifier |
java.util.Vector<Example>[][] |
getFoldBins()
Return the fold Bins |
java.util.Vector<Example> |
getTestCV(int foldnum)
Creates the testing set for one fold of a cross-validation on the dataset. |
java.util.Vector[] |
getTotalExamples()
Return all the examples |
java.util.Vector<Example> |
getTrainCV(int foldnum,
double percent)
Creates the training set for one fold of a cross-validation on the dataset. |
void |
run()
Run a CV learning curve test and print total training and test time and generate an averge learning curve plot output files suitable for gunuplot |
void |
setClassifier(Classifier c)
Set the classifier |
void |
setFoldBins(java.util.Vector<Example>[][] bins)
Set the fold Bins |
void |
setTotalExamples(java.util.List<Example> examples)
Sets the totalExamples by partitioning examples into categories to get a stratified sample |
void |
setTotalExamples(java.util.Vector<Example>[] data)
Set all the examples |
protected int |
sizeOfFold(int foldNum)
Computes the total number of examples in given fold |
void |
trainAndTest()
Run training and test for each point to be plotted, gathering a result for each fold. |
void |
trainAndTestFold(java.util.Vector<Example> train,
java.util.Vector<Example> test,
int fold,
PointResults testPointResults,
PointResults trainPointResults)
Train and test on given example sets for the given fold: |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected java.util.Vector<Example>[] totalExamples
protected java.util.Vector<Example>[][] foldBins
protected Classifier classifier
protected long randomSeed
protected int numClasses
protected int totalNumTrain
protected int numFolds
protected double[] points
protected static double[] DEFAULT_POINTS
protected boolean debug
protected double trainTime
protected double testTime
protected int testTimeNum
protected PointResults[] testResults
protected PointResults[] trainResults
| Constructor Detail |
|---|
public CVLearningCurve(int nfolds,
Classifier c,
java.util.List<Example> examples,
double[] points,
long randomSeed,
boolean debug)
nfolds - Number of folds of CV to performc - Classifier on which to perform K-fold CVexamples - List of examples.points - Points (in percentage of full train set) to plot on learning curvedebug - Debugging flag to set verbose trace printing
public CVLearningCurve(Classifier c,
java.util.List<Example> examples)
c - Classifier on which to perform K-fold CVexamples - List of examples.| Method Detail |
|---|
public Classifier getClassifier()
public void setClassifier(Classifier c)
public java.util.Vector[] getTotalExamples()
public void setTotalExamples(java.util.Vector<Example>[] data)
public java.util.Vector<Example>[][] getFoldBins()
public void setFoldBins(java.util.Vector<Example>[][] bins)
public void setTotalExamples(java.util.List<Example> examples)
public void run()
throws java.lang.Exception
java.lang.Exceptionpublic void trainAndTest()
public void trainAndTestFold(java.util.Vector<Example> train,
java.util.Vector<Example> test,
int fold,
PointResults testPointResults,
PointResults trainPointResults)
train - The training dataset vectortest - The testing dataset vectorfold - The current fold numbertestPointResults - train accuracy PointResults for this pointtrainPointResults - test accuracy PointResults for this pointpublic void binExamples()
public java.util.Vector<Example> getTrainCV(int foldnum,
double percent)
foldnum - The fold for which training set is to be constructedpercent - Percentage of examples to use for training in this fold
protected int sizeOfFold(int foldNum)
public java.util.Vector<Example> getTestCV(int foldnum)
foldnum - The fold which is to be used as testing data
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||