# An Oversampling Method for Class Imbalance Problems on Large Datasets
## 4 Experimental Results
### Scalability  
In this experiment, we evaluate the scalability of the proposed method Fast-SMOTE. Here, we randomly generated two artificial datasets with numeric features in [0,1], one with 10,000,000 objects and 10 features, and another with 10,000 features and 10,000 objects. Then, to evaluate the scalability of the proposed method regarding the number of objects, we measure the runtime required for oversampling minority classes from one million to 10 million of objects with increments of 2 million of objects, taken from the artificial dataset with 10 features. Additionally, to evaluate the scalability of Fast-SMOTE regarding the number of features, we measure the runtime required for oversampling minority classes with 1000 to 10,000 features with increments of 1000 features from the artificial dataset with 10,000 objects. Due to the size of the minority classes that makes it unmanageable in MATLAB, for this experiment, Fast-SMOTE and NDO were implemented in C++. The experiment was run on a computer with an Intel Core i7-3820 3.60 GHz processor with 64 GB DDR4 RAM, running 64-bit Ubuntu. Although we could use larger datasets, we  
\begin{table}
\begin{tabular}{l c c} \hline \hline
**Dataset** & **NDO** & **Fast-SMOTE** \\ \hline Default of credit card clients & 0.620 & 0.623 \\ Online News Popularity & 0.551 & 0.551 \\ Statlog (Shuttle) & 0.549 & 0.551 \\ Skin segmentation & 0.990 & 0.999 \\ Buzz in social media (Twitter) & 0.922 & 0.921 \\ \hline \hline \end{tabular}
\end{table}
Table 6: AUC results of Cart classifier for one of the 5 datasets from the UCI repository.  
\begin{table}
\begin{tabular}{l c c} \hline \hline \multirow{2}{*}{**Dataset**} & \multicolumn{2}{c}{**Oversampling Method**} \\ \cline{2-3}  & **NDO** & **Fast-SMOTE** \\ \hline Default of credit card clients & 0.81 & 0.40 \\ Online News Popularity & 4.94 & 1.95 \\ Statlog (Shuttle) & 1.61 & 0.62 \\ Skin segmentation & 16.47 & 5.80 \\ Buzz in social media (Twitter) & 8771.89 & 2860.40 \\ \hline Sum & 8795.17 & 2869.17 \\ \hline \hline \end{tabular}
\end{table}
Table 7: Runtime in seconds spent by NDO and Fast-SMOTE on artificial datasets from Table 5.  
selected these datasets because they are sufficient for demonstrating the scalability of Fast-SMOTE.  
Figure 4 shows a graph of the scalability of the proposed method Fast-SMOTE with respect to the number of objects. For comparison purposes, we include NDO in the graph. In this graph, the \(x\)-axis shows the number of objects of the minority classes used in this experiment, while the \(y\)-axis shows the runtime in seconds for FAST-SMOTE (blue line) and NDO (red line) for oversampling the respective minority class. From this figure, we can observe that Fast-SMOTE scales better than NDO with increasing number of objects, allowing oversampling larger datasets in a much shorter runtime.  
Figure 5 shows a graph of the scalability of Fast-SMOTE with respect to the number of features. We also included NDO results in the graph. In this graph, the \(x\)-axis shows the number of features that describe the objects of the minority classes used in this experiment, while the \(y\)-axis shows the runtime in seconds required by FAST-SMOTE (blue line) and NDO (red line) for oversampling the respective minority class. It is observed from this figure that Fast-SMOTE scales better than NDO with increasing number of features.  
Figure 4: Runtime in seconds (\(y\)-axis) for oversampling different numbers of objects in the minority class (\(x\)-axis) by Fast-SMOTE (blue line) and NDO (red line).  
Figure 5: Runtime in seconds (\(y\)-axis) for oversampling a minority class with different number of features (\(x\)-axis) by Fast-SMOTE (blue line) and NDO (red line).  
This experiment shows that when the number of objects and variables grows, Fast SMOTE has better scalability than NDO, making it more suitable than NDO for practical use.