public class WekaUtil
extends java.lang.Object
| Constructor and Description |
|---|
WekaUtil() |
| Modifier and Type | Method and Description |
|---|---|
static weka.classifiers.Classifier |
cloneClassifier(weka.classifiers.Classifier c) |
static weka.core.Instance |
fromJAICoreInstance(Instance instance) |
static weka.core.Instance |
fromJAICoreInstance(LabeledInstance<java.lang.String> instance) |
static weka.core.Instances |
fromJAICoreInstances(Instances instances) |
static weka.core.Instances |
fromJAICoreInstances(LabeledInstances<java.lang.String> labeledInstances) |
static <L> weka.core.Instances |
fromJAICoreInstances(WekaCompatibleInstancesImpl instances) |
static java.util.Collection<java.util.List<java.lang.String>> |
getAdmissibleSearcherEvaluatorCombinationsForAttributeSelection()
Determines all attribute selection variants (search/evaluator combinations with default parametrization)
|
static java.util.Collection<java.lang.Integer>[] |
getArbitrarySplit(weka.core.Instances data,
java.util.Random rand,
double... portions) |
static java.util.List<weka.core.Attribute> |
getAttributes(weka.core.Instance inst) |
static java.util.List<weka.core.Attribute> |
getAttributes(weka.core.Instances inst,
boolean includeClassAttribute) |
static java.util.Collection<java.lang.String> |
getBasicLearners() |
static java.util.Collection<java.lang.String> |
getBinaryClassifiers() |
static java.util.Collection<java.lang.String> |
getClassesActuallyContainedInDataset(weka.core.Instances data) |
static double[] |
getClassesAsArray(weka.core.Instances inst) |
static java.util.List<java.lang.Double> |
getClassesAsList(weka.core.Instances inst) |
static java.util.List<java.lang.String> |
getClassesDeclaredInDataset(weka.core.Instances data) |
static java.lang.String |
getClassifierDescriptor(weka.classifiers.Classifier c) |
static java.lang.String |
getClassName(weka.core.Instance instance) |
static java.util.List<java.lang.String> |
getClassNames(weka.core.Instance instance) |
static java.util.Map<java.lang.String,java.lang.Integer> |
getClassNameToIDMap(weka.core.Instance instance) |
static java.util.List<java.io.File> |
getDatasetsInFolder(java.io.File folder) |
static weka.core.Instances |
getEmptyDatasetForJAICoreInstance(Instance instance) |
static weka.core.Instances |
getEmptySetOfInstancesWithRefactoredClass(weka.core.Instances instances) |
static weka.core.Instances |
getEmptySetOfInstancesWithRefactoredClass(weka.core.Instances instances,
java.util.List<java.lang.String> classes) |
static java.util.Collection<java.lang.String> |
getFeatureEvaluators() |
static int[] |
getIndicesOfContainedInstances(weka.core.Instances dataset,
weka.core.Instances subset)
Compute indices of instances of the original data set that are contained in
the given subset.
|
static int[] |
getIndicesOfSubset(weka.core.Instances data,
weka.core.Instances subset) |
static weka.core.Instances |
getInstancesOfClass(weka.core.Instances data,
java.util.Collection<java.lang.String> classNames) |
static weka.core.Instances |
getInstancesOfClass(weka.core.Instances data,
java.lang.String className) |
static java.util.Map<java.lang.String,weka.core.Instances> |
getInstancesPerClass(weka.core.Instances data) |
static int |
getIntValOfClassName(weka.core.Instance instance,
java.lang.String className) |
static java.util.Collection<java.lang.String> |
getMetaLearners() |
static java.util.Collection<java.lang.String> |
getNativeMultiClassClassifiers() |
static weka.core.Attribute |
getNewClassAttribute(weka.core.Attribute attribute) |
static weka.core.Attribute |
getNewClassAttribute(weka.core.Attribute attribute,
java.util.List<java.lang.String> classes) |
static int |
getNumberOfInstancesFromClass(weka.core.Instances data,
java.util.Collection<java.lang.String> cs) |
static int |
getNumberOfInstancesFromClass(weka.core.Instances data,
java.lang.String c) |
static java.util.Map<java.lang.String,java.lang.Integer> |
getNumberOfInstancesPerClass(weka.core.Instances data) |
static java.util.Collection<weka.core.Option> |
getOptionsOfWekaAlgorithm(java.lang.Object o) |
static java.util.Collection<java.lang.String> |
getPossibleClassValues(weka.core.Instance instance) |
static weka.core.Instance |
getRefactoredInstance(weka.core.Instance instance) |
static weka.core.Instance |
getRefactoredInstance(weka.core.Instance instance,
java.util.List<java.lang.String> classes) |
static weka.core.Instances |
getRefactoredInstances(weka.core.Instances data,
java.util.Map<java.lang.String,java.lang.String> classMap) |
static double |
getRelativeNumberOfInstancesFromClass(weka.core.Instances data,
java.util.Collection<java.lang.String> cs) |
static double |
getRelativeNumberOfInstancesFromClass(weka.core.Instances data,
java.lang.String c) |
static java.util.List<weka.core.Attribute> |
getReplacedAttributeList(java.util.List<weka.core.Attribute> attributes,
weka.core.Attribute classAttribute) |
static java.util.Collection<java.lang.String> |
getSearchers() |
static java.util.List<weka.core.Instances> |
getStratifiedSplit(weka.core.Instances data,
long seed,
double... portions) |
static java.util.List<ReproducibleInstances> |
getStratifiedSplit(ReproducibleInstances data,
long seed,
double... portions)
Creates a StratifiedSplit for a given
ReproducibleInstances Object. |
static java.util.List<ReproducibleInstances> |
getStratifiedSplit(ReproducibleInstances data,
java.util.Random rand,
double... portions)
Creates a stratified split for a given
ReproducibleInstances Object. |
static java.util.Collection<java.lang.Integer>[] |
getStratifiedSplitIndices(weka.core.Instances data,
java.util.Random rand,
double... pPortions) |
static java.util.List<java.util.List<java.lang.Integer>> |
getStratifiedSplitIndicesAsList(weka.core.Instances data,
java.util.Random rand,
double... portions) |
static boolean |
hasOnlyNumericAttributes(weka.core.Instances instances) |
static java.lang.String |
instancesToJsonString(weka.core.Instances data) |
static boolean |
isValidPreprocessorCombination(java.lang.String searcher,
java.lang.String evaluator) |
static weka.core.Instances |
jsonStringToInstances(java.lang.String json) |
static weka.core.Instances |
mergeClassesOfInstances(weka.core.Instances data,
java.util.Collection<java.lang.String> cluster1,
java.util.Collection<java.lang.String> cluster2) |
static weka.core.Instances |
mergeClassesOfInstances(weka.core.Instances data,
java.util.List<java.util.Set<java.lang.String>> instancesCluster) |
static boolean |
needsBinarization(weka.core.Instances wekaInstances,
boolean ignoreClassAttribute)
Returns true if there is at least one nominal attribute in the given dataset
that has more than 2 values.
|
static void |
printClassSplitAssignments(java.util.List<weka.core.Instances> split) |
static java.lang.String |
printNestedWekaClassifier(weka.classifiers.Classifier c) |
static java.util.List<weka.core.Instances> |
realizeSplit(weka.core.Instances data,
java.util.Collection<java.lang.Integer>[] split) |
static java.util.List<weka.core.Instances> |
realizeSplit(weka.core.Instances data,
java.util.List<java.util.List<java.lang.Integer>> split) |
static java.util.List<weka.core.Instances> |
realizeSplitAsCopiedInstances(weka.core.Instances data,
java.util.Collection<java.lang.Integer>[] split) |
static java.util.List<weka.core.Instances> |
realizeSplitAsCopiedInstances(weka.core.Instances data,
java.util.List<java.util.List<java.lang.Integer>> split) |
static java.util.List<weka.core.Instances> |
realizeSplitAsSubInstances(weka.core.Instances data,
java.util.Collection<java.lang.Integer>[] split) |
static weka.core.Instance |
removeClassAttribute(weka.core.Instance inst) |
static weka.core.Instances |
removeClassAttribute(weka.core.Instances data) |
static com.fasterxml.jackson.databind.node.ArrayNode |
splitToJsonArray(java.util.Collection<java.lang.Integer>[] splitDecision) |
static Instance |
toJAICoreInstance(weka.core.Instance wekaInst) |
static Instances |
toJAICoreInstances(weka.core.Instances wekaInstances) |
static LabeledInstance<java.lang.String> |
toJAICoreLabeledInstance(weka.core.Instance wekaInst) |
static WekaCompatibleInstancesImpl |
toJAICoreLabeledInstances(weka.core.Instances wekaInstances) |
static weka.core.Instance |
useFilterOnSingleInstance(weka.core.Instance instance,
weka.filters.Filter filter) |
public static java.util.Collection<java.lang.String> getBasicLearners()
public static java.util.Collection<java.lang.String> getNativeMultiClassClassifiers()
public static java.util.Collection<java.lang.String> getBinaryClassifiers()
public static java.util.Collection<java.lang.String> getFeatureEvaluators()
public static java.util.Collection<java.lang.String> getSearchers()
public static java.util.Collection<java.lang.String> getMetaLearners()
public static boolean isValidPreprocessorCombination(java.lang.String searcher,
java.lang.String evaluator)
public static java.util.Collection<java.util.List<java.lang.String>> getAdmissibleSearcherEvaluatorCombinationsForAttributeSelection()
public static <L> weka.core.Instances fromJAICoreInstances(WekaCompatibleInstancesImpl instances)
public static weka.core.Instances fromJAICoreInstances(Instances instances)
public static weka.core.Instances getEmptyDatasetForJAICoreInstance(Instance instance)
public static weka.core.Instance fromJAICoreInstance(Instance instance)
public static weka.core.Instance fromJAICoreInstance(LabeledInstance<java.lang.String> instance)
public static weka.core.Instances fromJAICoreInstances(LabeledInstances<java.lang.String> labeledInstances)
public static WekaCompatibleInstancesImpl toJAICoreLabeledInstances(weka.core.Instances wekaInstances)
public static boolean needsBinarization(weka.core.Instances wekaInstances,
boolean ignoreClassAttribute)
wekaInstances - dataset that is checkedignoreClassAttribute - if true class attribute is ignored.public static LabeledInstance<java.lang.String> toJAICoreLabeledInstance(weka.core.Instance wekaInst)
public static Instances toJAICoreInstances(weka.core.Instances wekaInstances)
public static java.util.Collection<java.lang.String> getPossibleClassValues(weka.core.Instance instance)
public static Instance toJAICoreInstance(weka.core.Instance wekaInst)
public static java.lang.String getClassifierDescriptor(weka.classifiers.Classifier c)
public static java.util.Collection<weka.core.Option> getOptionsOfWekaAlgorithm(java.lang.Object o)
public static java.util.List<java.lang.String> getClassNames(weka.core.Instance instance)
public static java.util.Map<java.lang.String,java.lang.Integer> getClassNameToIDMap(weka.core.Instance instance)
public static int getIntValOfClassName(weka.core.Instance instance,
java.lang.String className)
public static void printClassSplitAssignments(java.util.List<weka.core.Instances> split)
public static weka.core.Instances getInstancesOfClass(weka.core.Instances data,
java.util.Collection<java.lang.String> classNames)
public static weka.core.Instances getInstancesOfClass(weka.core.Instances data,
java.lang.String className)
public static java.lang.String getClassName(weka.core.Instance instance)
public static java.util.Map<java.lang.String,weka.core.Instances> getInstancesPerClass(weka.core.Instances data)
public static java.util.Map<java.lang.String,java.lang.Integer> getNumberOfInstancesPerClass(weka.core.Instances data)
public static int getNumberOfInstancesFromClass(weka.core.Instances data,
java.lang.String c)
public static int getNumberOfInstancesFromClass(weka.core.Instances data,
java.util.Collection<java.lang.String> cs)
public static double getRelativeNumberOfInstancesFromClass(weka.core.Instances data,
java.lang.String c)
public static double getRelativeNumberOfInstancesFromClass(weka.core.Instances data,
java.util.Collection<java.lang.String> cs)
public static java.util.Collection<java.lang.Integer>[] getArbitrarySplit(weka.core.Instances data,
java.util.Random rand,
double... portions)
public static java.util.List<weka.core.Instances> realizeSplit(weka.core.Instances data,
java.util.Collection<java.lang.Integer>[] split)
public static java.util.List<weka.core.Instances> realizeSplit(weka.core.Instances data,
java.util.List<java.util.List<java.lang.Integer>> split)
public static java.util.List<weka.core.Instances> realizeSplitAsCopiedInstances(weka.core.Instances data,
java.util.List<java.util.List<java.lang.Integer>> split)
public static java.util.List<weka.core.Instances> realizeSplitAsCopiedInstances(weka.core.Instances data,
java.util.Collection<java.lang.Integer>[] split)
public static java.util.List<weka.core.Instances> realizeSplitAsSubInstances(weka.core.Instances data,
java.util.Collection<java.lang.Integer>[] split)
public static java.util.Collection<java.lang.Integer>[] getStratifiedSplitIndices(weka.core.Instances data,
java.util.Random rand,
double... pPortions)
public static java.util.List<java.util.List<java.lang.Integer>> getStratifiedSplitIndicesAsList(weka.core.Instances data,
java.util.Random rand,
double... portions)
public static com.fasterxml.jackson.databind.node.ArrayNode splitToJsonArray(java.util.Collection<java.lang.Integer>[] splitDecision)
public static java.util.List<weka.core.Instances> getStratifiedSplit(weka.core.Instances data,
long seed,
double... portions)
public static java.util.List<ReproducibleInstances> getStratifiedSplit(ReproducibleInstances data, java.util.Random rand, double... portions)
ReproducibleInstances Object.
The history will be updated to track the split.data - - Input datarand - - random used to get a seed, which can be used and savedportions - - ratios to splitReproducibleInstances. For each of them the history
will be updated to track the splitpublic static java.util.List<ReproducibleInstances> getStratifiedSplit(ReproducibleInstances data, long seed, double... portions)
ReproducibleInstances Object.
THe History will be updated to track the split.data - - Input dataseed - - random seedportions - - ratios to splitReproducibleInstances. For each of them the history
will be updated to track the splitpublic static java.util.List<java.io.File> getDatasetsInFolder(java.io.File folder)
throws java.io.IOException
java.io.IOExceptionpublic static weka.core.Instances getRefactoredInstances(weka.core.Instances data,
java.util.Map<java.lang.String,java.lang.String> classMap)
public static weka.core.Instance getRefactoredInstance(weka.core.Instance instance)
public static weka.core.Instance getRefactoredInstance(weka.core.Instance instance,
java.util.List<java.lang.String> classes)
public static weka.core.Instances getEmptySetOfInstancesWithRefactoredClass(weka.core.Instances instances)
public static weka.core.Instances getEmptySetOfInstancesWithRefactoredClass(weka.core.Instances instances,
java.util.List<java.lang.String> classes)
public static java.util.List<weka.core.Attribute> getAttributes(weka.core.Instances inst,
boolean includeClassAttribute)
public static java.util.List<weka.core.Attribute> getAttributes(weka.core.Instance inst)
public static boolean hasOnlyNumericAttributes(weka.core.Instances instances)
public static weka.core.Attribute getNewClassAttribute(weka.core.Attribute attribute)
public static weka.core.Attribute getNewClassAttribute(weka.core.Attribute attribute,
java.util.List<java.lang.String> classes)
public static java.util.List<weka.core.Attribute> getReplacedAttributeList(java.util.List<weka.core.Attribute> attributes,
weka.core.Attribute classAttribute)
public static weka.core.Instances mergeClassesOfInstances(weka.core.Instances data,
java.util.Collection<java.lang.String> cluster1,
java.util.Collection<java.lang.String> cluster2)
public static weka.core.Instances mergeClassesOfInstances(weka.core.Instances data,
java.util.List<java.util.Set<java.lang.String>> instancesCluster)
public static java.util.List<java.lang.String> getClassesDeclaredInDataset(weka.core.Instances data)
public static java.util.Collection<java.lang.String> getClassesActuallyContainedInDataset(weka.core.Instances data)
public static double[] getClassesAsArray(weka.core.Instances inst)
public static java.util.List<java.lang.Double> getClassesAsList(weka.core.Instances inst)
public static java.lang.String instancesToJsonString(weka.core.Instances data)
public static weka.core.Instances jsonStringToInstances(java.lang.String json)
public static int[] getIndicesOfContainedInstances(weka.core.Instances dataset,
weka.core.Instances subset)
dataset - subset - public static weka.core.Instance useFilterOnSingleInstance(weka.core.Instance instance,
weka.filters.Filter filter)
throws java.lang.Exception
java.lang.Exceptionpublic static weka.core.Instances removeClassAttribute(weka.core.Instances data)
throws java.lang.Exception
java.lang.Exceptionpublic static weka.core.Instance removeClassAttribute(weka.core.Instance inst)
throws java.lang.Exception
java.lang.Exceptionpublic static weka.classifiers.Classifier cloneClassifier(weka.classifiers.Classifier c)
throws java.lang.Exception
java.lang.Exceptionpublic static int[] getIndicesOfSubset(weka.core.Instances data,
weka.core.Instances subset)
public static java.lang.String printNestedWekaClassifier(weka.classifiers.Classifier c)