Choosing a classification algorithm

Naive Bayes is one of the most simple, efficient, and effective inductive algorithms in machine learning. When features are independent, which is rarely true in the real world, it is theoretically optimal and, even with dependent features, its performance is amazingly competitive (Zhang, 2004). The main disadvantage is that it cannot learn how features interact with each other; for example, despite the fact that you like your tea with lemon or milk, you hate a tea that has both of them at the same time.

The main advantage of the decision tree is that it is a model that is easy to interpret and explain, as we studied in our example. It can handle both nominal and numeric features, and you don't have to worry about whether the data is linearly separable.

Some other examples of classification algorithms are as follows:

  • weka.classifiers.rules.ZeroR: This predicts the majority class and is considered a baseline; that is, if your classifier's performance is worse than the average value predictor, it is not worth considering it.
  • weka.classifiers.trees.RandomTree: This constructs a tree that considers K randomly chosen attributes at each node.
  • weka.classifiers.trees.RandomForest: This constructs a set (forest) of random trees and uses majority voting to classify a new instance.
  • weka.classifiers.lazy.IBk: This is the k-nearest neighbors classifier that is able to select an appropriate value of neighbors, based on cross-validation.
  • weka.classifiers.functions.MultilayerPerceptron: This is a classifier based on neural networks that uses backpropagation to classify instances. The network can be built by hand, or created by an algorithm, or both.
  • weka.classifiers.bayes.NaiveBayes: This is a Naive Bayes classifier that uses estimator classes, where numeric estimator precision values are chosen based on the analysis of the training data.
  • weka.classifiers.meta.AdaBoostM1: This is the class for boosting a nominal class classifier by using the AdaBoost M1 method. Only nominal class problems can be tackled. This often dramatically improves the performance, but sometimes, it overfits.
  • weka.classifiers.meta.Bagging: This is the class for bagging a classifier to reduce the variance. This can perform classification and regression, depending on the base learner.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.227.26.217