public class FoldGeneratorImpl extends java.lang.Object implements FoldGenerator
Modifier and Type | Field and Description |
---|---|
(package private) ClassifierEvaluationDao |
classifierEvaluationDao |
(package private) KernelUtil |
kernelUtil |
private static Log |
log |
Constructor and Description |
---|
FoldGeneratorImpl() |
Modifier and Type | Method and Description |
---|---|
private java.util.List<java.util.Set<java.lang.Long>> |
createFolds(int nFolds,
int nMinPerClass,
java.util.Random r,
java.util.SortedMap<java.lang.Long,java.lang.String> mapInstanceIdToClass)
inver the map of instance id to class, call createFolds
|
private static java.util.List<java.util.Set<java.lang.Long>> |
createFolds(java.util.Map<java.lang.String,java.util.List<java.lang.Long>> mapClassToInstanceId,
int nFolds,
int nMinPerClass,
java.util.Random r)
iterate through the labels, split instances into folds
|
void |
generateFolds(java.util.Set<java.lang.String> labels,
InstanceData instances,
java.lang.String corpusName,
java.lang.String splitName,
int run,
java.lang.String query,
int nFolds,
int nMinPerClass,
java.util.Random r)
generate folds for a run
|
java.util.SortedMap<java.lang.String,java.util.SortedMap<java.lang.Integer,java.util.SortedMap<java.lang.Integer,java.util.SortedMap<java.lang.Boolean,java.util.SortedMap<java.lang.Long,java.lang.String>>>>> |
generateRuns(java.util.SortedMap<java.lang.String,java.util.SortedMap<java.lang.Integer,java.util.SortedMap<java.lang.Integer,java.util.SortedMap<java.lang.Boolean,java.util.SortedMap<java.lang.Long,java.lang.String>>>>> labelToInstanceMap,
int nFolds,
int nMinPerClass,
java.lang.Integer nSeed,
int nRuns)
Generate cross validation folds, don't store in database.
|
void |
generateRuns(java.lang.String corpusName,
java.lang.String splitName,
java.lang.String query,
int nFolds,
int nMinPerClass,
java.lang.Integer nSeed,
int nRuns)
Generate cross validation folds, store in database.
|
ClassifierEvaluationDao |
getClassifierEvaluationDao() |
KernelUtil |
getKernelUtil() |
private void |
insertFolds(java.util.List<java.util.Set<java.lang.Long>> folds,
java.lang.String corpusName,
java.lang.String splitName,
java.lang.String label,
int run)
insert the folds into the database
|
static void |
main(java.lang.String[] args) |
private static void |
printHelp(Options options) |
void |
setClassifierEvaluationDao(ClassifierEvaluationDao classifierEvaluationDao) |
void |
setKernelUtil(KernelUtil kernelUtil) |
private static final Log log
ClassifierEvaluationDao classifierEvaluationDao
KernelUtil kernelUtil
private static java.util.List<java.util.Set<java.lang.Long>> createFolds(java.util.Map<java.lang.String,java.util.List<java.lang.Long>> mapClassToInstanceId, int nFolds, int nMinPerClass, java.util.Random r)
mapClassToInstanceId
- nFolds
- nMinPerClass
- nSeed
- public static void main(java.lang.String[] args) throws ParseException, java.io.IOException
ParseException
java.io.IOException
private static void printHelp(Options options)
public void generateFolds(java.util.Set<java.lang.String> labels, InstanceData instances, java.lang.String corpusName, java.lang.String splitName, int run, java.lang.String query, int nFolds, int nMinPerClass, java.util.Random r)
labels
- mapInstanceToClassLabel
- name
- splitName
- run
- query
- nFolds
- nMinPerClass
- r
- private java.util.List<java.util.Set<java.lang.Long>> createFolds(int nFolds, int nMinPerClass, java.util.Random r, java.util.SortedMap<java.lang.Long,java.lang.String> mapInstanceIdToClass)
nFolds
- nMinPerClass
- r
- mapInstanceIdToClass
- public void generateRuns(java.lang.String corpusName, java.lang.String splitName, java.lang.String query, int nFolds, int nMinPerClass, java.lang.Integer nSeed, int nRuns)
FoldGenerator
generateRuns
in interface FoldGenerator
corpusName
- class labelquery
- query to get instance id - label - class triplesnFolds
- number of folds to generatenMinPerClass
- minimum number of instances of each class per foldnSeed
- random number seed; if null will be set currentTime in millisnRuns
- number of runspublic ClassifierEvaluationDao getClassifierEvaluationDao()
public KernelUtil getKernelUtil()
private void insertFolds(java.util.List<java.util.Set<java.lang.Long>> folds, java.lang.String corpusName, java.lang.String splitName, java.lang.String label, int run)
folds
- corpusName
- run
- public void setClassifierEvaluationDao(ClassifierEvaluationDao classifierEvaluationDao)
public void setKernelUtil(KernelUtil kernelUtil)
public java.util.SortedMap<java.lang.String,java.util.SortedMap<java.lang.Integer,java.util.SortedMap<java.lang.Integer,java.util.SortedMap<java.lang.Boolean,java.util.SortedMap<java.lang.Long,java.lang.String>>>>> generateRuns(java.util.SortedMap<java.lang.String,java.util.SortedMap<java.lang.Integer,java.util.SortedMap<java.lang.Integer,java.util.SortedMap<java.lang.Boolean,java.util.SortedMap<java.lang.Long,java.lang.String>>>>> labelToInstanceMap, int nFolds, int nMinPerClass, java.lang.Integer nSeed, int nRuns)
FoldGenerator
generateRuns
in interface FoldGenerator
labelToInstanceMap
- an instance class map without folds @see
InstanceData.labelToInstanceMap
nFolds
- number of foldsnMinPerClass
- minimum instance per classnSeed
- random seed default to System.currentTimeMillis()nRuns
- number of runs