Class NaiveBayesSimple

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, OptionHandler

    public class NaiveBayesSimple
    extends Classifier
    Class for building and using a simple Naive Bayes classifier. Numeric attributes are modelled by a normal distribution. For more information, see

    Richard Duda and Peter Hart (1973).Pattern Classification and Scene Analysis. Wiley, New York.

    Version:
    $Revision: 1.13.2.2 $
    Author:
    Eibe Frank (eibe@cs.waikato.ac.nz)
    See Also:
    Serialized Form
    • Field Detail

      • m_Counts

        protected double[][][] m_Counts
        All the counts for nominal attributes.
      • m_Means

        protected double[][] m_Means
        The means for numeric attributes.
      • m_Devs

        protected double[][] m_Devs
        The standard deviations for numeric attributes.
      • m_Priors

        protected double[] m_Priors
        The prior probabilities of the classes.
      • m_Instances

        protected Instances m_Instances
        The instances used for training.
      • NORM_CONST

        protected static double NORM_CONST
        Constant for normal distribution.
    • Constructor Detail

      • NaiveBayesSimple

        public NaiveBayesSimple()
    • Method Detail

      • globalInfo

        public java.lang.String globalInfo()
        Returns a string describing this classifier
        Returns:
        a description of the classifier suitable for displaying in the explorer/experimenter gui
      • buildClassifier

        public void buildClassifier​(Instances instances)
                             throws java.lang.Exception
        Generates the classifier.
        Specified by:
        buildClassifier in class Classifier
        Parameters:
        instances - set of instances serving as training data
        Throws:
        java.lang.Exception - if the classifier has not been generated successfully
      • distributionForInstance

        public double[] distributionForInstance​(Instance instance)
                                         throws java.lang.Exception
        Calculates the class membership probabilities for the given test instance.
        Overrides:
        distributionForInstance in class Classifier
        Parameters:
        instance - the instance to be classified
        Returns:
        predicted class probability distribution
        Throws:
        java.lang.Exception - if distribution can't be computed
      • toString

        public java.lang.String toString()
        Returns a description of the classifier.
        Overrides:
        toString in class java.lang.Object
        Returns:
        a description of the classifier as a string.
      • normalDens

        protected double normalDens​(double x,
                                    double mean,
                                    double stdDev)
        Density function of normal distribution.
      • main

        public static void main​(java.lang.String[] argv)
        Main method for testing this class.
        Parameters:
        argv - the options