Package weka.classifiers.rules
Class DTNB
java.lang.Object
weka.classifiers.Classifier
weka.classifiers.rules.DecisionTable
weka.classifiers.rules.DTNB
- All Implemented Interfaces:
Serializable
,Cloneable
,AdditionalMeasureProducer
,CapabilitiesHandler
,OptionHandler
,RevisionHandler
,TechnicalInformationHandler
,WeightedInstancesHandler
Class for building and using a decision table/naive bayes hybrid classifier. At each point in the search, the algorithm evaluates the merit of dividing the attributes into two disjoint subsets: one for the decision table, the other for naive Bayes. A forward selection search is used, where at each step, selected attributes are modeled by naive Bayes and the remainder by the decision table, and all attributes are modelled by the decision table initially. At each step, the algorithm also considers dropping an attribute entirely from the model.
For more information, see:
Mark Hall, Eibe Frank: Combining Naive Bayes and Decision Tables. In: Proceedings of the 21st Florida Artificial Intelligence Society Conference (FLAIRS), ???-???, 2008. BibTeX:
For more information, see:
Mark Hall, Eibe Frank: Combining Naive Bayes and Decision Tables. In: Proceedings of the 21st Florida Artificial Intelligence Society Conference (FLAIRS), ???-???, 2008. BibTeX:
@inproceedings{Hall2008, author = {Mark Hall and Eibe Frank}, booktitle = {Proceedings of the 21st Florida Artificial Intelligence Society Conference (FLAIRS)}, pages = {318-319}, publisher = {AAAI press}, title = {Combining Naive Bayes and Decision Tables}, year = {2008} }Valid options are:
-X <number of folds> Use cross validation to evaluate features. Use number of folds = 1 for leave one out CV. (Default = leave one out CV)
-E <acc | rmse | mae | auc> Performance evaluation measure to use for selecting attributes. (Default = accuracy for discrete class and rmse for numeric class)
-I Use nearest neighbour instead of global table majority.
-R Display decision table rules.
- Version:
- $Revision: 6269 $
- Author:
- Mark Hall (mhall{[at]}pentaho{[dot]}org), Eibe Frank (eibe{[at]}cs{[dot]}waikato{[dot]}ac{[dot]}nz)
- See Also:
-
Field Summary
Fields inherited from class weka.classifiers.rules.DecisionTable
EVAL_ACCURACY, EVAL_AUC, EVAL_DEFAULT, EVAL_MAE, EVAL_RMSE, TAGS_EVALUATION
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
buildClassifier
(Instances data) Generates the classifier.double[]
distributionForInstance
(Instance instance) Calculates the class membership probabilities for the given test instance.Returns an enumeration of the additional measure namesReturns default capabilities of the classifier.double
getMeasure
(String additionalMeasureName) Returns the value of the named measureString[]
Gets the current settings of the classifier.Returns the revision string.Gets the current search methodReturns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.Returns a string describing classifierReturns an enumeration describing the available options.static void
Main method for testing this class.double
Returns the number of rulesvoid
setOptions
(String[] options) Parses the options for this object.void
Sets the search method to usetoString()
Returns a description of the classifier.Methods inherited from class weka.classifiers.rules.DecisionTable
crossValTipText, displayRulesTipText, evaluationMeasureTipText, getCrossVal, getDisplayRules, getEvaluationMeasure, getUseIBk, measureNumRules, printFeatures, searchTipText, setCrossVal, setDisplayRules, setEvaluationMeasure, setUseIBk, useIBkTipText
Methods inherited from class weka.classifiers.Classifier
classifyInstance, debugTipText, forName, getDebug, makeCopies, makeCopy, setDebug
-
Constructor Details
-
DTNB
public DTNB()
-
-
Method Details
-
globalInfo
Returns a string describing classifier- Overrides:
globalInfo
in classDecisionTable
- Returns:
- a description suitable for displaying in the explorer/experimenter gui
-
getTechnicalInformation
Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.- Specified by:
getTechnicalInformation
in interfaceTechnicalInformationHandler
- Overrides:
getTechnicalInformation
in classDecisionTable
- Returns:
- the technical information about this class
-
buildClassifier
Generates the classifier.- Overrides:
buildClassifier
in classDecisionTable
- Parameters:
data
- set of instances serving as training data- Throws:
Exception
- if the classifier has not been generated successfully
-
distributionForInstance
Calculates the class membership probabilities for the given test instance.- Overrides:
distributionForInstance
in classDecisionTable
- Parameters:
instance
- the instance to be classified- Returns:
- predicted class probability distribution
- Throws:
Exception
- if distribution can't be computed
-
toString
Description copied from class:DecisionTable
Returns a description of the classifier.- Overrides:
toString
in classDecisionTable
- Returns:
- a description of the classifier as a string.
-
measurePercentAttsUsedByDT
public double measurePercentAttsUsedByDT()Returns the number of rules- Returns:
- the number of rules
-
enumerateMeasures
Returns an enumeration of the additional measure names- Specified by:
enumerateMeasures
in interfaceAdditionalMeasureProducer
- Overrides:
enumerateMeasures
in classDecisionTable
- Returns:
- an enumeration of the measure names
-
getMeasure
Returns the value of the named measure- Specified by:
getMeasure
in interfaceAdditionalMeasureProducer
- Overrides:
getMeasure
in classDecisionTable
- Parameters:
additionalMeasureName
- the name of the measure to query for its value- Returns:
- the value of the named measure
- Throws:
IllegalArgumentException
- if the named measure is not supported
-
getCapabilities
Returns default capabilities of the classifier.- Specified by:
getCapabilities
in interfaceCapabilitiesHandler
- Overrides:
getCapabilities
in classDecisionTable
- Returns:
- the capabilities of this classifier
- See Also:
-
setSearch
Sets the search method to use- Overrides:
setSearch
in classDecisionTable
- Parameters:
search
-
-
getSearch
Gets the current search method- Overrides:
getSearch
in classDecisionTable
- Returns:
- the search method used
-
listOptions
Returns an enumeration describing the available options.- Specified by:
listOptions
in interfaceOptionHandler
- Overrides:
listOptions
in classDecisionTable
- Returns:
- an enumeration of all the available options.
-
setOptions
Parses the options for this object. Valid options are:-X <number of folds> Use cross validation to evaluate features. Use number of folds = 1 for leave one out CV. (Default = leave one out CV)
-E <acc | rmse | mae | auc> Performance evaluation measure to use for selecting attributes. (Default = accuracy for discrete class and rmse for numeric class)
-I Use nearest neighbour instead of global table majority.
-R Display decision table rules.
- Specified by:
setOptions
in interfaceOptionHandler
- Overrides:
setOptions
in classDecisionTable
- 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 classifier.- Specified by:
getOptions
in interfaceOptionHandler
- Overrides:
getOptions
in classDecisionTable
- Returns:
- an array of strings suitable for passing to setOptions
-
getRevision
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Overrides:
getRevision
in classDecisionTable
- Returns:
- the revision
-
main
Main method for testing this class.- Parameters:
argv
- the command-line options
-