Example #1
0
        /// <summary>
        /// Turns the string name of a classifier into a weka classifier of the appropriate type. Also deals with options.
        /// </summary>
        /// <param name="classifier">The classifier to use.</param>
        /// <returns>A weka compatable classifier</returns>
        private static weka.classifiers.Classifier GetClassifier(Classifier myClassifier)
        {
            switch (myClassifier)
            {
            case Classifier.J48:
                return(new weka.classifiers.trees.J48());

            case Classifier.NaiveBayes:
                return(new weka.classifiers.bayes.NaiveBayes());

            case Classifier.MLP:
                // http://weka.sourceforge.net/doc/weka/classifiers/functions/MultilayerPerceptron.html#setOptions(java.lang.String[])
                weka.classifiers.functions.MultilayerPerceptron cls = new weka.classifiers.functions.MultilayerPerceptron();
                cls.setOptions(new string[] { "-H", "a" });
                return(cls);

            case Classifier.AdaBoost_J48:
                weka.classifiers.meta.AdaBoostM1 cls_ab_j48 = new weka.classifiers.meta.AdaBoostM1();
                cls_ab_j48.setOptions(new string[] { "-W", "weka.classifiers.trees.J48" });
                return(cls_ab_j48);

            case Classifier.AdaBoost_Stump:
                weka.classifiers.meta.AdaBoostM1 cls_ab_stump = new weka.classifiers.meta.AdaBoostM1();
                cls_ab_stump.setOptions(new string[] { "-W", "weka.classifiers.trees.DecisionStump" });
                return(cls_ab_stump);

            default:
                Console.WriteLine("You did not specify a supported classifier type.");
                return(null);
            }
        }