Package weka.estimators
Class Estimator
java.lang.Object
weka.estimators.Estimator
- All Implemented Interfaces:
Serializable,Cloneable,CapabilitiesHandler,CapabilitiesIgnorer,OptionHandler,RevisionHandler
- Direct Known Subclasses:
DiscreteEstimator,DiscreteEstimatorBayes,KernelEstimator,MahalanobisEstimator,NormalEstimator,PoissonEstimator
public abstract class Estimator
extends Object
implements Cloneable, Serializable, OptionHandler, CapabilitiesHandler, CapabilitiesIgnorer, RevisionHandler
Abstract class for all estimators.
Example code for a nonincremental estimator
// create a histogram for estimation
EqualWidthEstimator est = new EqualWidthEstimator();
est.addValues(instances, attrIndex);
Example code for an incremental estimator (incremental estimators must
implement interface IncrementalEstimator)
// Create a discrete estimator that takes values 0 to 9
DiscreteEstimator newEst = new DiscreteEstimator(10, true);
// Create 50 random integers first predicting the probability of the
// value, then adding the value to the estimator
Random r = new Random(seed);
for(int i = 0; i < 50; i++) {
current = Math.abs(r.nextInt() % 10);
System.out.println(newEst);
System.out.println("Prediction for " + current
+ " = " + newEst.getProbability(current));
newEst.addValue(current, 1);
}
Example code for a main method for an estimator.
public static void main(String [] argv) {
try {
LoglikeliEstimator est = new LoglikeliEstimator();
Estimator.buildEstimator((Estimator) est, argv, false);
System.out.println(est.toString());
} catch (Exception ex) {
ex.printStackTrace();
System.out.println(ex.getMessage());
}
}
- Version:
- $Revision: 15522 $
- Author:
- Gabi Schmidberger (gabi@cs.waikato.ac.nz), Len Trigg (trigg@cs.waikato.ac.nz)
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddValue(double data, double weight) Add a new data value to the current estimator.voidInitialize the estimator with a new dataset.voidInitialize the estimator with all values of one attribute of a dataset.voidInitialize the estimator using only the instances of one class.voidInitialize the estimator using only the instances of one class.static voidbuildEstimator(Estimator est, String[] options, boolean isIncremental) Build an estimator using the options.static voidbuildEstimator(Estimator est, Instances instances, int attrIndex, int classIndex, int classValueIndex, boolean isIncremental) static EstimatorCreates a deep copy of the given estimator using serialization.Returns the tip text for this propertyReturns the tip text for this propertybooleanTests whether the current estimation object is equal to another estimation objectstatic EstimatorCreates a new instance of a estimator given it's class name and (optional) arguments to pass to it's setOptions method.Returns the Capabilities of this Estimator.booleangetDebug()Get whether debugging is turned on.booleanGet whether capabilities checking is turned off.String[]Gets the current settings of the Estimator.abstract doublegetProbability(double data) Get a probability estimate for a value.Returns the revision string.Returns an enumeration describing the available options.static Estimator[]makeCopies(Estimator model, int num) Creates a given number of deep copies of the given estimator using serialization.static EstimatorCreates a deep copy of the given estimator using serialization.voidsetDebug(boolean debug) Set debugging mode.voidsetDoNotCheckCapabilities(boolean doNotCheckCapabilities) Set whether not to check capabilities.voidsetOptions(String[] options) Parses a given list of options.voidtestCapabilities(Instances data, int attrIndex) Test if the estimator can handle the data.
-
Constructor Details
-
Estimator
public Estimator()
-
-
Method Details
-
doNotCheckCapabilitiesTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setDoNotCheckCapabilities
public void setDoNotCheckCapabilities(boolean doNotCheckCapabilities) Set whether not to check capabilities.- Specified by:
setDoNotCheckCapabilitiesin interfaceCapabilitiesIgnorer- Parameters:
doNotCheckCapabilities- true if capabilities are not to be checked.
-
getDoNotCheckCapabilities
public boolean getDoNotCheckCapabilities()Get whether capabilities checking is turned off.- Specified by:
getDoNotCheckCapabilitiesin interfaceCapabilitiesIgnorer- Returns:
- true if capabilities checking is turned off.
-
addValue
public void addValue(double data, double weight) Add a new data value to the current estimator.- Parameters:
data- the new data valueweight- the weight assigned to the data value
-
addValues
Initialize the estimator with a new dataset. Finds min and max first.- Parameters:
data- the dataset used to build this estimatorattrIndex- attribute the estimator is for- Throws:
Exception- if building of estimator goes wrong
-
addValues
public void addValues(Instances data, int attrIndex, double min, double max, double factor) throws Exception Initialize the estimator with all values of one attribute of a dataset. Some estimator might ignore the min and max values and the factor. This default implementation does. This default implementation does not check whether the estimator can handle the data.- Parameters:
data- the dataset used to build this estimatorattrIndex- attribute the estimator is formin- minimal border of rangemax- maximal border of rangefactor- number of instances has been reduced to that factor- Throws:
Exception- if building of estimator goes wrong
-
addValues
public void addValues(Instances data, int attrIndex, int classIndex, int classValue) throws Exception Initialize the estimator using only the instances of one class. It is using the values of one attribute only. Computes minimum and maximum based on the given data.- Parameters:
data- the dataset used to build this estimatorattrIndex- attribute the estimator is forclassIndex- index of the class attributeclassValue- the class value- Throws:
Exception- if building of estimator goes wrong
-
addValues
public void addValues(Instances data, int attrIndex, int classIndex, int classValue, double min, double max) throws Exception Initialize the estimator using only the instances of one class. It is using the values of one attribute only. Some estimator might ignore the min and max values. This default implementation does.- Parameters:
data- the dataset used to build this estimatorattrIndex- attribute the estimator is forclassIndex- index of the class attributeclassValue- the class valuemin- minimal value of this attributemax- maximal value of this attribute- Throws:
Exception- if building of estimator goes wrong
-
getProbability
public abstract double getProbability(double data) Get a probability estimate for a value.- Parameters:
data- the value to estimate the probability of- Returns:
- the estimated probability of the supplied value
-
buildEstimator
public static void buildEstimator(Estimator est, String[] options, boolean isIncremental) throws Exception Build an estimator using the options. The data is given in the options.- Parameters:
est- the estimator usedoptions- the list of optionsisIncremental- true if estimator is incremental- Throws:
Exception- if something goes wrong or the user requests help on command options
-
buildEstimator
public static void buildEstimator(Estimator est, Instances instances, int attrIndex, int classIndex, int classValueIndex, boolean isIncremental) throws Exception - Throws:
Exception
-
clone
Creates a deep copy of the given estimator using serialization.- Parameters:
model- the estimator to copy- Returns:
- a deep copy of the estimator
- Throws:
Exception- if an error occurs
-
makeCopy
Creates a deep copy of the given estimator using serialization.- Parameters:
model- the estimator to copy- Returns:
- a deep copy of the estimator
- Throws:
Exception- if an error occurs
-
makeCopies
Creates a given number of deep copies of the given estimator using serialization.- Parameters:
model- the estimator to copynum- the number of estimator copies to create.- Returns:
- an array of estimators.
- Throws:
Exception- if an error occurs
-
equals
Tests whether the current estimation object is equal to another estimation object -
listOptions
Returns an enumeration describing the available options.- Specified by:
listOptionsin interfaceOptionHandler- Returns:
- an enumeration of all the available options.
-
setOptions
Parses a given list of options. Valid options are:-D
If set, estimator is run in debug mode and may output additional info to the console.-do-not-check-capabilities
If set, estimator capabilities are not checked before estimator is built (use with caution).- Specified by:
setOptionsin interfaceOptionHandler- Parameters:
options- the list of options as an array of strings- Throws:
Exception- if an option is not supported
-
getOptions
Gets the current settings of the Estimator.- Specified by:
getOptionsin interfaceOptionHandler- Returns:
- an array of strings suitable for passing to setOptions
-
forName
Creates a new instance of a estimator given it's class name and (optional) arguments to pass to it's setOptions method. If the estimator implements OptionHandler and the options parameter is non-null, the estimator will have it's options set.- Parameters:
name- the fully qualified class name of the estimatoroptions- an array of options suitable for passing to setOptions. May be null.- Returns:
- the newly created estimator, ready for use.
- Throws:
Exception- if the estimator name is invalid, or the options supplied are not acceptable to the estimator
-
setDebug
public void setDebug(boolean debug) Set debugging mode.- Parameters:
debug- true if debug output should be printed
-
getDebug
public boolean getDebug()Get whether debugging is turned on.- Returns:
- true if debugging output is on
-
debugTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getCapabilities
Returns the Capabilities of this Estimator. Derived estimators have to override this method to enable capabilities.- Specified by:
getCapabilitiesin interfaceCapabilitiesHandler- Returns:
- the capabilities of this object
- See Also:
-
getRevision
Returns the revision string.- Specified by:
getRevisionin interfaceRevisionHandler- Returns:
- the revision
-
testCapabilities
Test if the estimator can handle the data.- Parameters:
data- the dataset the estimator takes an attribute fromattrIndex- the index of the attribute- Throws:
Exception- See Also:
-