## 3 Results
### Final Model Performance
Moreover, a high AUC suggests that the performance of the model across different thresholds performs well, balancing FPR and TPR. Final results showcase a good prediction balance between two classes, falling between the **0.8-0.9 accuracy values**. Values are based on the results derived as a direct output from our code after the testing finalization, saved in a '**detection_results.csv**' file. Final results are shown in Figures 14 and 15. Figure 14: Final model evaluation metrics. It is important to ensure that our model is both accurate and computationally efficient for real-time analysis. In order to address the computational efficiency and scalability of our model, we followed the implementation of measuring inference time [44] and evaluated its scalability using batch processing [45]. **Inference Time Measurement:**  
* **Timing Function:** We used Python's time module to accurately calculate inference times for our model on our dataset;
* **Adding inference_times list:** This allowed us to collect the times for each batch size;
* **Timing the predictions:** The time was recorded before and after the predictions to calculate the inference time;
* **Saving times:** The results were saved in a.csv file called inference_times.csv. **Scalability Evaluation with Batch Processing Usage:**  
* **Parallelization:** Using the joblib function, our model utilizes all available processing cores of the machine;
* **Batch Processing:** Implementation for inference to indicate how the model handles larger data sizes;
* **Batch Size Evaluation:** Evaluation through a loop for different batch sizes. **Interpretation of Results:**  
The results shown in Table 4 showcase inference times for different batch sizes. We measure in seconds the time the model needed to make predictions. The lower the times, the better the computation efficiency. \begin{table}
\begin{tabular}{c c c c} \hline \hline  & **True\_Label** & **BATCH\_SIZE** & **Inference\_Time** \\ \hline
1 & argumentative & 1 & 0.0057275295257568367 \\ \hline
2 & argumentative & 5 & 0.003355264663696289 \\ \hline
3 & argumentative & 10 & 0.0031197071075439453 \\ \hline
4 & argumentative & 20 & 0.0032854080200195312 \\ \hline
5 & non-argumentative & 1 & 0.003977537155151367 \\ \hline
6 & non-argumentative & 5 & 0.0030760765075683594 \\ \hline
7 & non-argumentative & 10 & 0.003057241439819336 \\ \hline
8 & non-argumentative & 20 & 0.003520488739013672 \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Results of inference times using batch processing. Figure 15: Probability range/count of correct argumentative and non-argumentative predictions per 0.1 accuracy range, with 1.0 being the perfect accuracy score. High inference times are associated with smaller batch sizes. Comparing batch sizes of 5, 10 and 20, the time for batch size 1 is greater at 0.00572 for argumentative and 0.00397 for non-argumentative labels. This shows that the model is not that efficient on parallel computation when processing one image at a time. A small variation in inference time when working with larger batch sizes is observed. The time increases negligibly as the batch size increases from 5 to 20 and even slightly decreases (batch size 5 is slightly faster than 1). This indicates the model's ability to benefit from batch-level optimization and process multiple images at once. For both argumentative and non-argumentative labels, the inference time per instance often drops with batch size. This indicates that the model can effectively handle larger datasets by processing multiple instances at once. For an argumentative label, the inference time at a batch size of one is 0.00572 s. For each instance, the time drops to 0.00352 s when the batch size is increased to 20. The model's results show that it can effectively scale when the batch size is increasing, while maintaining low inference times making it ideal for real-time clinical applications.