|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.harvard.seas.iis.abilities.classify.ClassifierEvaluator
public class ClassifierEvaluator
Constructor Summary | |
---|---|
ClassifierEvaluator()
|
Method Summary | |
---|---|
DataSet |
annotateDataSet(DataSet dataSet,
weka.classifiers.Classifier c,
InstanceFilter filter)
Fills in the "Prediction probability" and "Predicted class" values in the dataSet using classifier c. |
static double[] |
compareFittsLawModels(double[] baseline,
double[] comparison)
|
static double[] |
computeFittsLawCoefficients(DataSet dataSet)
|
java.lang.String |
crossvalidateOverUsers(weka.classifiers.Classifier c,
DataSet dataSet,
java.lang.String[] users,
boolean generateAnnotatedDataSet)
|
double[] |
evaluate(weka.classifiers.Classifier c,
DataSet testData)
Evaluate a trained classifier c on a particular test data set |
java.lang.String |
evaluate(java.lang.String[] features,
java.io.File dataFile,
boolean generateAnnotatedDataSet)
Creates a positive and unlabeled classifier based on the globally set baseClassifier; evaluates it using crossvalidation; only specified features are used for classification |
void |
evaluateDataRequirements(java.lang.String[] users,
java.lang.String[] features,
java.io.File cleanDataDirectory)
A draft of a method for testing how the classifier's accuracy changes depending on the amount of training data available |
DataSet |
getDeliberateInstances(weka.classifiers.Classifier c,
DataSet d)
Returns a copy of the data set that only contains instances positively classified by c |
void |
getPerUserStDevs(java.io.File dataFile,
weka.classifiers.Classifier baseClassifier,
java.lang.String featureToComputeStdevsFor,
java.lang.String[] featureList,
java.lang.String[] users)
For a given feature, computes the per-user stdevs on experimental, natural, and filtered natural data sets |
static void |
main(java.lang.String[] args)
|
double[] |
runStatisticalTests(DataSet baseLine,
DataSet testSet,
java.lang.String[] users,
java.lang.String attributeForTesting,
int minNumberRequiredForTesting)
Runs pairwise statistical tests to look for statistically significant differences across users on several metrics. |
void |
runStatisticalTests(java.io.File dataFile,
weka.classifiers.Classifier baseClassifier,
java.lang.String[] featureList,
java.lang.String[] users)
|
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ClassifierEvaluator()
Method Detail |
---|
public static double[] computeFittsLawCoefficients(DataSet dataSet)
dataSet
-
public static double[] compareFittsLawModels(double[] baseline, double[] comparison)
baseline
- params of the baseline model [intercept, slope]comparison
- params of the comparison model [intercept, slope]
public DataSet getDeliberateInstances(weka.classifiers.Classifier c, DataSet d) throws java.lang.Exception
c
- d
-
java.lang.Exception
public double[] evaluate(weka.classifiers.Classifier c, DataSet testData) throws java.lang.Exception
c
- testData
-
java.lang.Exception
public DataSet annotateDataSet(DataSet dataSet, weka.classifiers.Classifier c, InstanceFilter filter) throws java.lang.Exception
dataSet
- c
- filter
-
java.lang.Exception
public java.lang.String crossvalidateOverUsers(weka.classifiers.Classifier c, DataSet dataSet, java.lang.String[] users, boolean generateAnnotatedDataSet) throws java.lang.Exception
java.lang.Exception
public java.lang.String evaluate(java.lang.String[] features, java.io.File dataFile, boolean generateAnnotatedDataSet) throws java.lang.Exception
features
- dataFile
- file containing the data to use for training and validation in
the crossvalidation proceduregenerateAnnotatedDataSet
- if set to true, this method will produce a copy of the data
set read from dataFile that has the classifier prediction
fields filled in for each instance; the annotated data set is
stored in the global variable annotatedDataSet
java.lang.Exception
public void evaluateDataRequirements(java.lang.String[] users, java.lang.String[] features, java.io.File cleanDataDirectory) throws java.lang.Exception
users
- features
- cleanDataDirectory
-
java.lang.Exception
public double[] runStatisticalTests(DataSet baseLine, DataSet testSet, java.lang.String[] users, java.lang.String attributeForTesting, int minNumberRequiredForTesting) throws java.lang.IllegalArgumentException, org.apache.commons.math.MathException
baseLine
- testSet
- users
- attributeForTesting
- minNumberRequiredForTesting
-
java.lang.IllegalArgumentException
org.apache.commons.math.MathException
public void runStatisticalTests(java.io.File dataFile, weka.classifiers.Classifier baseClassifier, java.lang.String[] featureList, java.lang.String[] users) throws java.lang.Exception
java.lang.Exception
public void getPerUserStDevs(java.io.File dataFile, weka.classifiers.Classifier baseClassifier, java.lang.String featureToComputeStdevsFor, java.lang.String[] featureList, java.lang.String[] users) throws java.lang.Exception
dataFile
- baseClassifier
- featureToComputeStdevsFor
- featureList
- users
-
java.lang.Exception
public static void main(java.lang.String[] args) throws java.lang.Exception
args
-
java.lang.Exception
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |