## 4 Result and Analysis
### Results and Analysis  
In this section, we will answer our research question and will also analyze our results. The research question addressed was as follows:  
**RQ1**: _What is the impact of hybrid feature selection in multi-class for the cross-project defect prediction accuracy of the PROMISE repository?_  
To answer this question in our research, we performed a controlled experiment on open-source projects of the PROMISE repository and evaluated the results in terms of AUC measure. We first normalized the dataset by removing noise, covering the distribution gap, and solving the class imbalance issue. The PROMISE repository consists of 28 datasets of many versions of 11 different projects. We combined all the versions of each of the datasets as one project to increase the dataset, in order to improve the training of our model. We then used the hybrid feature selection method to obtain the optimal feature subset that contributes the most to defect prediction. After obtaining the optimal features, we evaluated the accuracy of our model in terms of AUC measure by using two layered neural networks with a SoftMax Activation layer on the top as a classifier to classify the results in class0, class1, and class2. We have displayed our results for each of the target and source projects of the repository and evaluate the results in AUC measure as follows in Table 4: \begin{table}
\begin{tabular}{c c c c c c c c c c c} \hline \hline \multicolumn{10}{c}{**AUC Measure**} \\ \hline  & \multicolumn{10}{c}{**Source**} \\ \hline
**Target** & **Ant** & **Camel** & **Jedit** & **Lucene** & **Poi** & **Log4j** & **Velocity** & **Synapse** & **Ivy** & **Xalan** & **Xerces** \\ \hline Ant-1.3 & – & 62.91\% & 62.66\% & 63.07\% & 65.32\% & 60.47\% & 53.50\% & 62.74\% & 66.80\% & 66.60\% & 61.76\% \\ \hline Ant-1.4 & – & 50.68\% & 70.76\% & 73.83\% & 69.82\% & 60.27\% & 64.39\% & 71.46\% & 69.65\% & 66.23\% & 52.89\% \\ \hline Ant-1.5 & – & 77.46\% & 75.37\% & 67.92\% & 75.48\% & 69.02\% & 34.68\% & 66.47\% & 65.80\% & 71.31\% & 78.16\% \\ \hline Ant-1.7 & – & 76.78\% & 78.60\% & 76.68\% & 72.54\% & 60.42\% & 63.03\% & 84.77\% & 79.42\% & 83.23\% & 72.83\% \\ \hline Camel-1.2 & 70.81\% & – & 66.78\% & 75.96\% & 68.92\% & 70.80\% & 52.87\% & 70.46\% & 66.63\% & 62.28\% & 59.19\% \\ \hline Camel-1.4 & 80.96\% & – & 69.12\% & 77.40\% & 74.60\% & 67.37\% & 63.21\% & 71.13\% & 75.48\% & 69.26\% & 60.98\% \\ \hline Camel-1.6 & 78.86\% & – & 74.52\% & 72.80\% & 69.96\% & 64.63\% & 57.64\% & 69.05\% & 76.62\% & 70.00\% & 72.55\% \\ \hline Ivy-2.0 & 84.08\% & 72.62\% & 78.26\% & 76.29\% & 75.13\% & 64.12\% & 62.46\% & 76.02\% & – & 77.92\% & 74.62\% \\ \hline Jedit-3.2 & 83.90\% & 74.48\% & – & 71.33\% & 76.68\% & 62.43\% & 59.35\% & 79.11\% & 81.10\% & 72.01\% & 69.81\% \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Results of Experiment in AUC Measure for each target project. Figure 19: Experimental configuration of our model. The above Table 4 show the results of our experiment, which we established by finding the impact of the NN classifier along with the SoftMax layer. The SoftMax layer performs the best when it comes to multi-class datasets because of its output probability range, which is from 0 to 1, and the sum of all probabilities is equal to 1. Using EDA, we established that the dataset had 63 output classes in which the majority of the instances were 0 and 1 classes. Instances greater than 1 were so few in number that we put them all in class 2. The reason was that to have the maximum amount of data for training our model, we used CTGAN to generate synthetic data. CTGAN trains the classifier based on several instances and then generates the synthetic data on the pattern of already existing classes. CTGAN learns the pattern and generates data where greater number of data is required. All the classes above 1 were fewer in number and CTGAN finds it difficult to generate the synthetic data with less data. To overcome this issue, we combined all the classes above 1 in a single class 2.