I. Introduction
As supervised learning algorithms are being extensively employed to categorize new instances using the statistical structure of training sample, classification is the process of identifying a random sample with its statistical characteristics in order to make predictions of unknown variables or categories and has become one of the most fundamental topics in data mining and machine learning [1]–[9], [and references therein]. Bayesian networks [1]–[3] are commonly used to address classification problems in which a learning algorithm attempts to create a classifier from a given training random sample with class labels. As a result, the primary goal of a classification algorithm is to construct a classifier, and the Naive Bayes (NB) classifier stands out among existing classification algorithms not just only for its simplicity [1]–[7], but also for its high robust performance [1]–[3], [5]–[7]. In the context, it is worthy emphasizing that it has been used to solve classification difficulties for both binary and multi-class categories in many real-world applications and remarkably performs well [10], [and references therein]. However, NB classifier still has two major shortcomings [11], one of which is unreliable probability estimation. The other one, and may be the significant one, is the unrealistic assumption of conditional independence among attributes. The enhancements proposed to address the significant shortcoming include feature weighting [12]–[19].