Package weka.classifiers
Class BestBinnedNumericClassRandomSplitGenerator
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- weka.classifiers.AbstractSplitGenerator
-
- weka.classifiers.BestBinnedNumericClassRandomSplitGenerator
-
- All Implemented Interfaces:
adams.core.Destroyable,adams.core.GlobalInfoSupporter,adams.core.logging.LoggingLevelHandler,adams.core.logging.LoggingSupporter,adams.core.option.OptionHandler,adams.core.Randomizable,adams.core.SizeOfHandler,adams.data.splitgenerator.RandomSplitGenerator<weka.core.Instances,WekaTrainTestSetContainer>,adams.data.splitgenerator.SplitGenerator<weka.core.Instances,WekaTrainTestSetContainer>,InstancesViewSupporter,Serializable,Iterator<WekaTrainTestSetContainer>,RandomSplitGenerator,SplitGenerator
public class BestBinnedNumericClassRandomSplitGenerator extends AbstractSplitGenerator implements RandomSplitGenerator
Picks the best binning algorithm from the provided ones.- Author:
- FracPete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected adams.data.binning.algorithm.BinningAlgorithm[]m_Algorithmsthe algorithms to evaluate.protected booleanm_Generatedwhether the split was generated.protected adams.data.binning.algorithm.ManualBinningm_Manualfor generating class distributions.protected intm_NumEvaluationBinsthe number of evaluation bins.protected doublem_Percentagethe percentage.protected booleanm_PreserveOrderwhether to preserve the order.-
Fields inherited from class weka.classifiers.AbstractSplitGenerator
m_Data, m_Initialized, m_OriginalIndices, m_OriginalIndicesPerFold, m_Seed, m_UseViews
-
-
Constructor Summary
Constructors Constructor Description BestBinnedNumericClassRandomSplitGenerator()Initializes the generator.BestBinnedNumericClassRandomSplitGenerator(weka.core.Instances data, adams.data.binning.algorithm.BinningAlgorithm[] algorithms, double percentage)Initializes the generator.BestBinnedNumericClassRandomSplitGenerator(weka.core.Instances data, adams.data.binning.algorithm.BinningAlgorithm[] algorithms, long seed, double percentage)Initializes the generator.BestBinnedNumericClassRandomSplitGenerator(weka.core.Instances data, adams.data.binning.algorithm.BinningAlgorithm[] algorithms, long seed, double percentage, boolean preserveOrder)Initializes the generator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringalgorithmsTipText()Returns the tip text for this property.protected double[]calcDistribution(List<adams.data.binning.Binnable<weka.core.Instance>> binnable, double emptyBinValue)Calculates the class distribution.protected booleancanRandomize()Returns whether randomization is enabled.protected booleancheckNext()Returns true if the iteration has more elements.protected WekaTrainTestSetContainercreateNext()Creates the next result.voiddefineOptions()Adds options to the internal list of options.protected voiddoInitializeIterator()Initializes the iterator.adams.data.binning.algorithm.BinningAlgorithm[]getAlgorithms()Returns the binning algorithms to choose from.intgetNumEvaluationBins()Returns the number of bins to use during evaluation.doublegetPercentage()Returns the split percentage.booleangetPreserveOrder()Returns whether to preserve the order.StringglobalInfo()Returns a string describing the object.StringnumEvaluationBinsTipText()Returns the tip text for this property.StringpercentageTipText()Returns the tip text for this property.StringpreserveOrderTipText()Returns the tip text for this property.voidsetAlgorithms(adams.data.binning.algorithm.BinningAlgorithm[] value)Sets the binning algorithms to choose from.voidsetNumEvaluationBins(int value)Sets the number of bints to use during evaluation.voidsetPercentage(double value)Sets the split percentage.voidsetPreserveOrder(boolean value)Sets whether to preserve the order.-
Methods inherited from class weka.classifiers.AbstractSplitGenerator
getData, getSeed, getUseViews, hasNext, initialize, initializeIterator, next, randomize, remove, reset, seedTipText, setData, setSeed, setUseViews, toString, useViewsTipText
-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, destroy, finishInit, getDefaultLoggingLevel, getOptionManager, loggingLevelTipText, newOptionManager, setLoggingLevel, toCommandLine
-
Methods inherited from class adams.core.logging.LoggingObject
configureLogger, getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled, sizeOf
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface adams.data.weka.InstancesViewSupporter
getUseViews, setUseViews
-
Methods inherited from interface java.util.Iterator
forEachRemaining
-
Methods inherited from interface adams.core.option.OptionHandler
cleanUpOptions, getOptionManager, toCommandLine
-
Methods inherited from interface weka.classifiers.SplitGenerator
getData, hasNext, initializeIterator, next, remove, setData, toString
-
-
-
-
Field Detail
-
m_Percentage
protected double m_Percentage
the percentage.
-
m_PreserveOrder
protected boolean m_PreserveOrder
whether to preserve the order.
-
m_Algorithms
protected adams.data.binning.algorithm.BinningAlgorithm[] m_Algorithms
the algorithms to evaluate.
-
m_NumEvaluationBins
protected int m_NumEvaluationBins
the number of evaluation bins.
-
m_Generated
protected boolean m_Generated
whether the split was generated.
-
m_Manual
protected adams.data.binning.algorithm.ManualBinning m_Manual
for generating class distributions.
-
-
Constructor Detail
-
BestBinnedNumericClassRandomSplitGenerator
public BestBinnedNumericClassRandomSplitGenerator()
Initializes the generator.
-
BestBinnedNumericClassRandomSplitGenerator
public BestBinnedNumericClassRandomSplitGenerator(weka.core.Instances data, adams.data.binning.algorithm.BinningAlgorithm[] algorithms, long seed, double percentage)Initializes the generator. Does not preserve the order.- Parameters:
data- the dataset to splitalgorithms- the binning algorithms to useseed- the seed value to use for randomizationpercentage- the percentage of the training set (0-1)
-
BestBinnedNumericClassRandomSplitGenerator
public BestBinnedNumericClassRandomSplitGenerator(weka.core.Instances data, adams.data.binning.algorithm.BinningAlgorithm[] algorithms, double percentage)Initializes the generator. Preserves the order.- Parameters:
data- the dataset to splitalgorithms- the binning algorithms to usepercentage- the percentage of the training set (0-1)
-
BestBinnedNumericClassRandomSplitGenerator
public BestBinnedNumericClassRandomSplitGenerator(weka.core.Instances data, adams.data.binning.algorithm.BinningAlgorithm[] algorithms, long seed, double percentage, boolean preserveOrder)Initializes the generator.- Parameters:
data- the dataset to splitalgorithms- the binning algorithms to useseed- the seed value to use for randomizationpercentage- the percentage of the training set (0-1)preserveOrder- whether to preserve the order
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfoin interfaceadams.core.GlobalInfoSupporter- Specified by:
globalInfoin classadams.core.option.AbstractOptionHandler- Returns:
- a description suitable for displaying in the gui
-
defineOptions
public void defineOptions()
Adds options to the internal list of options.- Specified by:
defineOptionsin interfaceadams.core.option.OptionHandler- Overrides:
defineOptionsin classAbstractSplitGenerator
-
setPercentage
public void setPercentage(double value)
Sets the split percentage.- Specified by:
setPercentagein interfaceadams.data.splitgenerator.RandomSplitGenerator<weka.core.Instances,WekaTrainTestSetContainer>- Specified by:
setPercentagein interfaceRandomSplitGenerator- Parameters:
value- the percentage (0-1)
-
getPercentage
public double getPercentage()
Returns the split percentage.- Specified by:
getPercentagein interfaceadams.data.splitgenerator.RandomSplitGenerator<weka.core.Instances,WekaTrainTestSetContainer>- Specified by:
getPercentagein interfaceRandomSplitGenerator- Returns:
- the percentage (0-1)
-
percentageTipText
public String percentageTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setPreserveOrder
public void setPreserveOrder(boolean value)
Sets whether to preserve the order.- Specified by:
setPreserveOrderin interfaceadams.data.splitgenerator.RandomSplitGenerator<weka.core.Instances,WekaTrainTestSetContainer>- Specified by:
setPreserveOrderin interfaceRandomSplitGenerator- Parameters:
value- true if to preserve order
-
getPreserveOrder
public boolean getPreserveOrder()
Returns whether to preserve the order.- Specified by:
getPreserveOrderin interfaceadams.data.splitgenerator.RandomSplitGenerator<weka.core.Instances,WekaTrainTestSetContainer>- Specified by:
getPreserveOrderin interfaceRandomSplitGenerator- Returns:
- true if to preserve order
-
preserveOrderTipText
public String preserveOrderTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setAlgorithms
public void setAlgorithms(adams.data.binning.algorithm.BinningAlgorithm[] value)
Sets the binning algorithms to choose from.- Parameters:
value- the algorithms
-
getAlgorithms
public adams.data.binning.algorithm.BinningAlgorithm[] getAlgorithms()
Returns the binning algorithms to choose from.- Returns:
- the algorithms
-
algorithmsTipText
public String algorithmsTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setNumEvaluationBins
public void setNumEvaluationBins(int value)
Sets the number of bints to use during evaluation.- Parameters:
value- the number of bins
-
getNumEvaluationBins
public int getNumEvaluationBins()
Returns the number of bins to use during evaluation.- Returns:
- the number of bins
-
numEvaluationBinsTipText
public String numEvaluationBinsTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
canRandomize
protected boolean canRandomize()
Returns whether randomization is enabled.- Specified by:
canRandomizein classAbstractSplitGenerator- Returns:
- true if to randomize
-
doInitializeIterator
protected void doInitializeIterator()
Initializes the iterator.- Specified by:
doInitializeIteratorin classAbstractSplitGenerator- See Also:
AbstractSplitGenerator.canRandomize()
-
checkNext
protected boolean checkNext()
Returns true if the iteration has more elements. (In other words, returns true if next would return an element rather than throwing an exception.)- Specified by:
checkNextin classAbstractSplitGenerator- Returns:
- true if the iterator has more elements.
-
calcDistribution
protected double[] calcDistribution(List<adams.data.binning.Binnable<weka.core.Instance>> binnable, double emptyBinValue)
Calculates the class distribution.- Parameters:
binnable- the instances to calculate the distribution foremptyBinValue- the value to use for empty bins- Returns:
- the distribution
-
createNext
protected WekaTrainTestSetContainer createNext()
Creates the next result.- Specified by:
createNextin classAbstractSplitGenerator- Returns:
- the next result
-
-