oracle.dmt.odm.settings.algorithm
Class AdaptiveBayesNetworkSettings

java.lang.Object
  |
  +--oracle.dmt.odm.MiningObject
        |
        +--oracle.dmt.odm.settings.algorithm.MiningAlgorithmSettings
              |
              +--oracle.dmt.odm.settings.algorithm.AdaptiveBayesNetworkSettings
All Implemented Interfaces:
java.io.Serializable

public class AdaptiveBayesNetworkSettings
extends MiningAlgorithmSettings

An instance of AdaptiveBayesNetworkSettings is used to specify settings for the Adaptive Bayes Network algorithm. The settings are intended to allow the user control over build performance. The build process includes a step that finds an array of seed features. A seed feature consists of a training attribute that is statistically correlated with the target. In a training table with many attributes, many seed features may be found. The statistical procedure ranks the seed features with respect to their statistical correlation. The first step consists of constructing a Naive Bayes Model of size specified by maximumNumberOfNetworkFeatures parameter consisting of the top ranked attributes. Subsequent steps extend each seed feature one at a time in rank order. Each step must yield a model of smaller description length or it is rejected. The initial baseline is the global target distribution or prior. Each time a seed feature is extended, it involves a scan of the table.

To control the length of time it takes for the build, there are four user parameters:

Since:
9.2.0
See Also:
Serialized Form

Constructor Summary
AdaptiveBayesNetworkSettings(int maximumNetworkFeatureDepth, int maximumNumberOfNetworkFeatures, int maximumConsecutivePrunedNetworkFeatures)
          Creates an AdaptiveBayesNetworkSettings.
AdaptiveBayesNetworkSettings(int maximumNetworkFeatureDepth, int maximumNumberOfNetworkFeatures, int maximumConsecutivePrunedNetworkFeatures, int maximumBuildTime)
          Creates an AdaptiveBayesNetworkSettings
 
Method Summary
TypeMethod
 int getMaximumBuildTime()
          Returns the maximum build time.
 int getMaximumConsecutivePrunedNetworkFeatures()
          Returns the maximum number of consecutive pruned features before halting the stepwise selection process.
 int getMaximumNetworkFeatureDepth()
          Returns the maximum depth of any NetworkFeature.
 int getMaximumNumberOfNetworkFeatures()
          Returns the maximum number of seed NetworkFeatures trees that are candidates for extension and size of baseline Naive Bayes model.
 void setMaximumBuildTime(int maximumBuildTime)
          Sets the maximum build time.
 void setMaximumConsecutivePrunedNetworkFeatures(int maximumConsecutivePrunedNetworkFeatures)
          Sets the maximum number of consecutive pruned features before halting the stepwise selection process.
 void setMaximumNetworkFeatureDepth(int maximumNetworkFeatureDepth)
          Sets the maximum depth of any NetworkFeature.
 void setMaximumNumberOfNetworkFeatures(int maximumNumberOfNetworkFeatures)
          Sets the maximum number of seed NetworkFeatures trees that are candidates for extension and size of baseline Naive Bayes model.
 void validate()
          Validates all settings (except maximumConsecutivePrunedNetworkFeatures) have values greater than zero.
 
Methods inherited from class oracle.dmt.odm.settings.algorithm.MiningAlgorithmSettings
getMiningAlgorithm, getMiningAlgorithmName
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AdaptiveBayesNetworkSettings

public AdaptiveBayesNetworkSettings(int maximumNetworkFeatureDepth,
                                    int maximumNumberOfNetworkFeatures,
                                    int maximumConsecutivePrunedNetworkFeatures)
                             throws InvalidArgumentException
Creates an AdaptiveBayesNetworkSettings.
Parameters:
maximumNetworkFeatureDepth - maximum depth of any NetworkFeature. Setting closer to 1 builds the model faster. Set to 1 if the number of attributes is greater than the number of rows or the number of rows is < 300.
maximumNumberOfNetworkFeatures - maximum number of seed NetworkFeatures trees that are candidates for extension and size of baseline Naive Bayes model. Setting closer to 1 builds the model faster. Can be set to the number of attributes.
maximumConsecutivePrunedNetworkFeatures - maximum number of consecutive pruned features before halting the stepwise selection process. Negative value specifies that only a single feature and the baseline Naive Bayes model will be constructed. Setting closer to 1 builds the model faster. Negative values are fastest. Set to -1 when the number of rows > 300,000 and the number of attributes > 40.
Throws:
InvalidArgumentException - is thrown
- when the maximumNetworkFeatureDepth < 0 or maximumNumberOfNetworkFeatures < 0

AdaptiveBayesNetworkSettings

public AdaptiveBayesNetworkSettings(int maximumNetworkFeatureDepth,
                                    int maximumNumberOfNetworkFeatures,
                                    int maximumConsecutivePrunedNetworkFeatures,
                                    int maximumBuildTime)
                             throws InvalidArgumentException
Creates an AdaptiveBayesNetworkSettings
Parameters:
maximumNetworkFeatureDepth - maximum depth of any NetworkFeature. Setting closer to 1 builds the model faster. Set to 1 if the number of attributes is greater than the number of rows or the number of rows is < 300.
maximumNumberOfNetworkFeatures - maximum number of seed NetworkFeatures trees that are candidates for extension and size of baseline Naive Bayes model. Setting closer to 1 builds the model faster. Can be set to the number of attributes.
maximumConsecutivePrunedNetworkFeatures - maximum number of consecutive pruned features before halting the stepwise selection process. Negative value specifies that only a single feature and the baseline Naive Bayes model will be constructed. Setting closer to 1 builds the model faster. Negative values are fastest. Set to -1 when the number of rows > 300,000 and the number of attributes > 40.
maximumBuildTime - maximum build time
Throws:
InvalidArgumentException - is thrown
- when the maximumNetworkFeatureDepth < 0 or maximumNumberOfNetworkFeatures < 0 or maximumBuildTime < 0
Method Detail

getMaximumNetworkFeatureDepth

public int getMaximumNetworkFeatureDepth()
Returns the maximum depth of any NetworkFeature.
Returns:
int - maximum depth of any NetworkFeature

getMaximumNumberOfNetworkFeatures

public int getMaximumNumberOfNetworkFeatures()
Returns the maximum number of seed NetworkFeatures trees that are candidates for extension and size of baseline Naive Bayes model.
Returns:
int - maximum number of Network Feature

getMaximumConsecutivePrunedNetworkFeatures

public int getMaximumConsecutivePrunedNetworkFeatures()
Returns the maximum number of consecutive pruned features before halting the stepwise selection process.
Returns:
int - maximum number of consecutive pruned Network Feature

getMaximumBuildTime

public int getMaximumBuildTime()
Returns the maximum build time.
Returns:
int - maximum build time

setMaximumNetworkFeatureDepth

public void setMaximumNetworkFeatureDepth(int maximumNetworkFeatureDepth)
Sets the maximum depth of any NetworkFeature.
Parameters:
maximumNetworkFeatureDepth - maximum depth of any NetworkFeature

setMaximumNumberOfNetworkFeatures

public void setMaximumNumberOfNetworkFeatures(int maximumNumberOfNetworkFeatures)
Sets the maximum number of seed NetworkFeatures trees that are candidates for extension and size of baseline Naive Bayes model.
Parameters:
maximumNumberOfNetworkFeatures - maximum number of Network Feature

setMaximumConsecutivePrunedNetworkFeatures

public void setMaximumConsecutivePrunedNetworkFeatures(int maximumConsecutivePrunedNetworkFeatures)
Sets the maximum number of consecutive pruned features before halting the stepwise selection process.
Parameters:
maximumConsecutivePrunedNetworkFeatures - maximum number of consecutive pruned Network Feature negative value specifies that only a single feature and the baseline Naive Bayes model will be constructed

setMaximumBuildTime

public void setMaximumBuildTime(int maximumBuildTime)
Sets the maximum build time.
Parameters:
maximumBuildTime - maximum build time

validate

public void validate()
              throws MiningObjectException
Validates all settings (except maximumConsecutivePrunedNetworkFeatures) have values greater than zero.
Throws:
InvalidArgumentException - is thrown
- when the maximumNetworkFeatureDepth < 0 or maximumNumberOfNetworkFeatures < 0 or maximumBuildTime < 0