# Improving Software Defect Prediction in Noisy Imbalanced Datasets
## 3 Materials and Methods
### Predictor Construction
The reason for the latter results may be that some important features of the dataset were deleted during undersampling, and the problem was then magnified during oversampling. Overall, the results show that US-PONR is a significant improvement over either US or PONR alone. #### 5.1.3 Comparing US-PONR with the SOTA Data Pre-Processing Method--SMOTUNED

Table 7 shows how US-PONR compared with SMOTUNED, the alternative SOTA data pre-processing method. The results show that the AUC of the two methods was good or bad in different datasets, but nonetheless SMOTUNED spent a great deal more time on each dataset than US-PONR. The reason for the latter result is that SMOTUNED carried out many iterations to obtain the best parameter value, and the larger the dataset, the more time it spent. US-PONR obtained the best parameter value by interval search, which greatly reduced its processing time. Answer to RQ2: Can US-PONR Perform Better Compared to the Benchmark Methods in Un-Balanced SDP Datasets with Noise? The purpose of this experiment was to explore how well US-PONR predicts defects in unbalanced datasets that contain different proportions of label noise. The proposed method was compared with other oversampling and filtering methods after undersampling. In order to test datasets containing noise samples of different proportions, training datasets were generated with 10%, 20%, and 30% noise samples added to each set (see Section 4.2.2). Data pre-processing was then performed on these datasets to train the aggregate SDP model. Figure 2: The AUC of predicted results using a dataset pre-processed by US-PONR, or only US, or only PONR. A total of 12 methods of oversampling and noise reduction were tested, alongside our proposed method, on the datasets under the three noise levels. Following the same experiment settings used to optimize dataset parameters (Section 5.1.1), the settings of each dataset were as follows (for 10%, 20%, 30% noise): ant (1.6, 1.6, 1.4), camel (1.4, 1.4, 1.4), JDT (2.8, 1.5, 1.5), jedit (2, 2, 2), log4j (1.2, 1.2, 1.2), mylyn (3.5, 2.7, 2), PDE (2, 2, 2.2), poi (1.8, 1.8, 1.2), synapse (2.2, 1.8, 1.2), velocity (1.6, 1.2, 1.2), and xerces (2, 2, 2). Table 8 shows the AUC for each method when applied to every dataset. The results indicate that no matter which dataset or method was used, the introduction of noise always reduced a method's prediction performance. However, under most noise ratios of most datasets, the prediction performance of US-PONR was the best, while its decrease in performance as the noise ratio rose was minimal. When the US-PONR method was used on the POI dataset, the low-level noise score was lower than the high-level score. The reason for this anomaly is that the undersampling step size was set too large. In order to save time and money, the step size was set to 0.2. For the same dataset with different noise levels, the high noise level dataset gives the impression of having reached the optimal while the low noise level dataset does not. \begin{table}
\begin{tabular}{c c c c c} \hline \hline  & \multicolumn{2}{c}{**AUC**} & \multicolumn{2}{c}{**Time**} \\  & **US-PONR** & **SMOTUNED** & **US-PONR** & **SMOTUNED** \\ \hline
**ant** & 0.8218 & **0.8896** & **11.12 s** & 378 s \\
**camel** & 0.8612 & **0.9290** & **37.63 s** & 6364 s \\
**jDT** & **0.9257** & 0.8631 & **9.96 s** & 585 s \\
**jedit** & 0.9381 & **0.9445** & **22.77 s** & 1635 s \\
**log4j** & 0.8716 & **0.8766** & **1.04 s** & 82 s \\
**mylyn** & 0.9116 & 0.9003 & **23.25 s** & 1594 s \\
**PDE** & **0.9292** & 0.9061 & **17.52 s** & 3029 s \\
**poi** & **0.9416** & 0.9346 & **2.95 s** & 111 s \\
**synapse** & 0.7811 & **0.8315** & **5.71 s** & 598 s \\
**velocity** & 0.7826 & **0.8399** & **1.64 s** & 150 s \\
**xerces** & **0.9442** & 0.9325 & **9.09 s** & 502 s \\ \hline \hline \end{tabular}
\end{table} 
Table 7: Comparison results of US-PONR and SMOTUNED in AUC and processing time. \begin{table}
\begin{tabular}{c c c c c c c c c c c c c c} \hline  & **US-PON** & **SOMO** & **MWMOTE** &