# An Effective Ensemble Approach for Preventing and Detecting Phishing Attacks in Textual Form
## 4 Experiments and Results
### Selection of Base Learners  
The process of selecting the machine learning algorithms to serve as base learners presents a substantial challenge during the phase of ensemble learning. During this task, the machine learning algorithms are assessed based on distinct feature sets in order to ascertain which algorithm offers optimal efficiency. We conducted evaluations on various renowned machine learning algorithms (LR, SVM, BPM, NN, BDT), utilizing the evaluation metrics that were previously discussed in Section 3.8. The results are presented in Table 3.  
Regarding the results of the text-based features, BDT achieved an impressive F1-score of 0.905, showcasing its ability to balance precision and recall. This is crucial in scenarios with an imbalance between the classes, as the F1-score considers the false positive and false negative rate results. NN demonstrated the second-best F1-score of 0.880, indicating strong performance in capturing both precision and recall. However, it is slightly lower than BDT, highlighting the latter's superiority in this particular evaluation metric. Logistic Regression \begin{table}
\begin{tabular}{l c c c} \hline \hline  & **Benign** & **Phishing** & **Total** \\ \hline Training set & 7350 & 3150 & 10,500 \\ Testing set & 3150 & 1350 & 4500 \\ Total & 10,500 & 4500 & 15,000 \\ \hline \hline \end{tabular}
\end{table} 
Table 2: The details of the evaluation dataset. \begin{table}
\begin{tabular}{l c c c c c c c} \hline \hline
**Classifier** & **F1-Score** & **Accuracy** & **Precision** & **Recall** & **FP** & **FN** & **TN** & **TP** \\ \hline LR & 0.757 & 0.934 & 0.979 & 0.617 & 2 & 57 & 748 & 92 \\ SVM & 0.844 & 0.951 & 0.895 & 0.799 & 14 & 30 & 736 & 119 \\ BPM & 0.870 & 0.961 & 0.975 & 0.785 & 3 & 32 & 747 & 117 \\ NN & 0.880 & 0.963 & 0.960 & 0.812 & 5 & 28 & 745 & 121 \\ BDT & 0.905 & 0.969 & 0.912 & 0.899 & 13 & 15 & 737 & 134 \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Evaluation of text-based features. (LR) achieved an F1-score of 0.757, indicating a moderate balance between precision and recall. Its accuracy is relatively high at 0.934, with a precision of 0.979, suggesting a low rate of false positives. However, its recall is 0.617, indicating that LR may not capture all positive instances. Support Vector Machine (SVM) demonstrated improved performance, with an F1-score of 0.844, reflecting a better balance between precision and recall compared to LR. Its accuracy is 0.951, and the precision is 0.895, indicating a relatively low false positive rate. Its recall, at 0.799, suggests that SVM effectively identifies a substantial portion of positive instances. Bagging with a Passive-Aggressive Model (BPM) achieved an F1-score of 0.870, indicating balanced performance. Its high accuracy (0.961) and precision (0.975) demonstrate its capability to minimize false positives. However, its recall (0.785) suggests a trade-off with false negatives. Neural Network (NN) performed well, with an F1-score of 0.880, showcasing a good balance between precision and recall. Its accuracy (0.963) and precision (0.960) are high, emphasizing effective positive instance identification. Its recall (0.812) suggests a reasonably low false negative rate. Boosted Decision Tree (BDT) demonstrated the highest F1-score at 0.905, indicating strong overall performance. Its accuracy (0.969) and precision (0.912) are also noteworthy, with a high recall of 0.899, suggesting the effective identification of positive instances. Boosted Decision Tree (BDT) stands out as the top-performing classifier among those evaluated for text-based features, with a high F1-score, accuracy, precision, and recall. To clarify our results, Figures 2-6 provide ROC (Receiver Operating Characteristic) curves, which are a valuable tool for assessing the trade-off between sensitivity and specificity in a binary classification model, particularly in scenarios where the class distribution is imbalanced. The ROC curve plots the true positive rate (sensitivity) against the false positive rate at various threshold settings.