## 4 Experimental Results  
For experiments, the authors of this paper implemented the proposed approach in Python. To begin the experiment, the selected dataset was passed through the proposed  
Figure 5: Flow diagram of the architecture. pipeline. Initially, the pre-processing step was performed by using the NLTK library. Stance detection and author credibility were then determined. During the author credibility and stance detection phases, 28.88% of the news was classified as fake, among which 8% was in fact genuine (Figure 6). In the last step, different machine learning algorithms were applied to the data after the pre-processed text document was converted into vector form using the TF-IDF vectorizer. Moreover, different machine learning algorithms were applied to the proposed dataset. The first model applied was a decision tree for the detection of fake news. The performance of the decision tree was represented by a confusion matrix. Figure 7 shows the confusion matrix in a heatmap. A confusion matrix shows the true positive, true negative, false positive, and false negative values in the form of a matrix. The definitions of each of these terms are as follows:  
* True positive (_TP_): a classifier prediction is true positive if the news is authentic, and the classifier predicts it as authentic. * False-positive (_FP_): a classifier prediction is false positive if the news is fake, and the classifier predicts it as authentic. * True negative (_TN_): a classifier prediction is true negative if the news is fake, and the classifier predicts it as fake. * False-negative (_FN_): a classifier prediction is false negative if the news is authentic, and the classifier predicts it as fake. It can be seen that for the decision tree, _TP_ is 1916, and _TN_ is 1524. Hence, the overall accuracy is as follows:  
\[\text{Accuracy}\ =\frac{TP+TN}{TP+TN+FP+FN} \tag{1}\]  
Figure 6: Result of authors’ credibility and stance detection. Figure 7: Confusion matrix for decision tree algorithm. \[\text{Accuracy }=\frac{1916+1524}{4572}\] \[\text{Accuracy }=75.24\%\]  
In many situations, accuracy is not a very good measure. Hence, it is essential to calculate other measures, such as precision, recall, and F1-score. The definitions of these terms are as follows:  
* Precision: the ratio of positive examples that were correctly predicted by the classifier to the total number of examples predicted as positive. * Recall: the ratio of the total number of true positives to the actual number of examples that were positive. * F1-score: the weighted average score of precision and recall. The precision of the classifier is defined mathematically as  
\[\text{Precision }=\frac{TP}{TP+FP} \tag{2}\]  
\[\text{Precision }=\frac{1916}{1916+599}\] \[\text{Precision }=76.18\%\]  
The recall of the classifier is defined mathematically as  
\[\text{Recall }=\frac{TP}{TP+FN} \tag{3}\]  
\[\text{Accuracy}\ =\frac{TP+TN}{TP+TN+FP+FN} \tag{1}\]0 \[\text{Accuracy}\ =\frac{TP+TN}{TP+TN+FP+FN} \tag{1}\]1  
Finally, F1-score is meant to balance precision and recall. It is defined as  
\[\text{Accuracy}\ =\frac{TP+TN}{TP+TN+FP+FN} \tag{1}\]2  
\[\text{Accuracy}\ =\frac{TP+TN}{TP+TN+FP+FN} \tag{1}\]3 \[\text{Accuracy}\ =\frac{TP+TN}{TP+TN+FP+FN} \tag{1}\]4  
The confusion matrix for random forest classifier, as illustrated in Figure 8, shows that the accuracy of the classifier is 82.23%, the precision value is 81.95%, the recall is 84.44%, and the F1-score is 83.17%. The confusion matrix and accuracy of this logistic regression classifier, as illustrated in Figure 9, shows that the accuracy of the classifier is 87.2%, the precision value is 87.90%, the recall is 88.88%, and the F1-score is 88.30%. Lastly, an SVM classifier was applied. The confusion matrix and the accuracy of this classifier are shown in Figure 10, and it can be observed that the accuracy of the classifier is 93.15%, the precision value is 92.65%, the recall value is 95.71%, and the F1-score is 94.15%.