# Performance Improvement of Decision Tree: A Robust Classifier Using Tabu Search Algorithm
## 4 Proposed Classifier Algorithm  
The general idea of the DT algorithm is presented in Section 3.1. Therefore, the proposed TSODT algorithm goes recursively to divide the given data using the \"greedy depth-first approach\". This approach is also utilized in our work to optimize the traditional decision tree algorithm. The data flow and global overview of our proposed algorithm is given in Figure 2. It constructs a single decision tree (T) from a given dataset and then the tabu search selects the root node as a current node to start the optimization of the decision tree. It is noteworthy that our proposed algorithm was flexible while creating new decision trees and this feature also aids TSODT to optimize the performance--regardless of the size  
Figure 1: Structure of the decision tree (DT) algorithm. of the dataset. We assumed N = 3 to explain the working principle of TDOST and this means that TSDDT will construct three decision trees (e.g., \(DT_{1},DT_{2},DT_{3}\)) and the tabu search extracts the neighbor nodes (V*) from the standard decision tree (T). This generates the best solution which is a leaf node (S*). Then, it creates the N number of decision trees (N = 3 for our case), extracting the best solution (S*) and then it appends into previously created decision trees. The place of the appended leaf node (S*) was decided using the entropy of the decision trees. In what follows, the tabu search checks the aspiration criterion and continues the same process until it achieves the aspiration criterion. Consequently, it builds an optimized decision tree that is robust as compared to the traditional decision tree (T). The proposed algorithm for the TSDDT classifier is illustrated in Algorithm 1. Initially, it builds a tree (leaf nodes and decision nodes) and then it prunes so that the tree makes a lists \([S,TABU]\) from the training instances. In what follows, it checks the lists \([S,TABU]\), and if it is not empty, then it selects a node from the list and flags it as a current node \(J\). It involves three steps (or) decision trees: (step-1) call tree classifies the extracted options as traditional or abnormal; (step-2) the identification of the abnormal options that contain signs of tuberculosis; and (step-3) the calculation of the likelihood of the malady from the results, obtained in step-2. Considering the aforementioned steps (step-1-step-3), it defines a splitting rule for the instances of the current node \(J\). Moreover, it applies a select-split from \(J\) and forms child nodes. These child nodes are not a part of the decision trees. Once the resultant node is the only one, then \(J\) will be added to leaf nodes. The position of the current node (\(J\)) in the leaf nodes is defined on the entropy of the decision trees. On the other hand, the resultant nodes are added to the defined decision trees \((DT_{1},DT_{2},DT_{3})\). The probability of each decision tree is based on the fraction of entropy, calculated using Equation (1). It is important to note that the proposed TSDDT classifier algorithm is capable of dealing with big datasets. Moreover, it is more flexible than other classification algorithms because the user can select the number of decision trees which will be su  
Figure 2: Data flow of the proposed TSDDT algorithm. \[H(DT_{1})=I_{E}(p_{1},p_{2},\ldots,p_{j})=-\sum_{i=1}^{k}p_{i}log_{2}p_{i} \tag{1}\]  
In Equation (1), \(p_{1},p_{2},\ldots,p_{j}\) determines the percentage of each class present in the child node (node for a specific value of the feature). The term, i.e., \(DT_{1}\) presents the decision trees (as mentioned earlier in step-1-step-3) while \(k\) shows the number of classes.