Evaluation metrics and statistical tests for machine learning

Research on different machine learning (ML) has become incredibly popular during the past few decades. However, for some researchers not familiar with statistics, it might be difficult to understand how to evaluate the performance of ML models and compare them with each other. Here, we introduce the most common evaluation metrics used for the typical supervised ML tasks including binary, multi-class, and multi-label classification, regression, image segmentation, object detection, and information retrieval. We explain how to choose a suitable statistical test for comparing models, how to obtain enough values of the metric for testing, and how to perform the test and interpret its results. We also present a few practical examples about comparing convolutional neural networks used to classify X-rays with different lung infections and detect cancer tumors in positron emission tomography images.

designations: a true positive (TP) is a correctly predicted positive outcome, a true negative (TN) is a correctly predicted negative outcome, a false positive (FP) is a negative instance predicted to be positive, and a false negative (FN) is a positive instance predicted to be negative 13 .A confusion matrix, here a 2 × 2-matrix containing the counts of TP, TN, FP, and FN observations like Table 1, can be used to compute several metrics for the evaluation of the binary classifier.
The most commonly used evaluation metrics for binary classification are accuracy, sensitivity, specificity, and precision, which express the percentage of correctly classified instances in the set of all the instances, the truly positive instances, the truly negative instances, or the instances classified as positive, respectively.Sensitivity is commonly referred as recall 14 .They have the formulas where TP, TN, FP, and FN refer to the numbers of the predictions with these designations [13][14][15][16] .Especially in diagnostics, sensitivity or recall is also known as true positive rate 14 , specificity as true negative rate 16 , and precision as positive predictive value 17 .With the exception of accuracy, the aforementioned metrics are often used as pairs, such as precision and recall or sensitivity and specificity.It is noteworthy that sensitivity and specificity reveal more about the model than accuracy especially if the number of real positive and negative instances is very imbalanced.
There are also several other evaluation metrics like accuracy that depend on all the values of the confusion matrix: Youden's index 18 , defined as Sen. + Spe.− 1 15 , gives an equal weight to the accuracies within the positive and the negative instances, regardless of their numbers.The F1-score, defined as is a harmonic mean of precision and recall 19 .Cohen's kappa ( κ ), defined as compares how well the binary classifier performs compared to the randomized accuracy p e 19 .It was originally introduced as a measurement for the degree of agreement between two observers in psychology 20 but it can be applied to measure the agreement between the predicted and the real classes.Furthermore, Matthews' correlation coefficient (MCC), defined as measures the correlation between the real and the predicted values of the instances 21 .This definition of MCC follows directly from that of Pearson's correlation coefficient 22 .
To compute the values of the metrics above, the predictions of the test set by the model must be converted with some threshold if they are not already binary labels.The value of this threshold is often the default choice of 0.5 or the cut-point that gives highest accuracy or Youden's index for the predictions of the training set.The threshold should be always chosen based on the predictions of the training set only because using the threshold that maximizes the accuracy of the predictions of the test set produces unrealistically good results.
However, if the numeric predictions before their conversion into binary are available, we can consider the receiver operating characteristic (ROC) curve.It is obtained by plotting sensitivity against the false positive rate (equal to 1 minus specificity) at all possible threshold values.As can be seen from Fig. 1, it follows that a ROC curve is always monotonically increasing function inside the unit square tied to the points (0, 0) and (1, 1) so that closer the ROC curve is to (0, 1) the better the predictions are 23 .The area under the ROC curve (AUC) is another possible evaluation metric with values in [0, 1] but, unlike for the metrics, its value does not depend on the choice of the threshold at all.
Alternatively, if we have n predictions q i ∈ (0, 1] for binary labels p i ∈ {0, 1} , we can also compute their cross-entropy loss defined as Table 1.The confusion matrix of a modified U-Net CNN whose task was to classify 300 chest X-rays with COVID-19 in the test set as positive (pos.) and 300 X-rays from healthy patients as negative (neg.).The resulting values of different evaluation metrics can be found in Table 4.

Multi-class classification
If the classification task is separating n instances between k ≥ 3 different classes, we can present the results of the classifier by using a k × k confusion matrix as in Table 2. Its element n ij at the intersection of the ith and the jth column for i, j = 1, . . ., k is the number of instances from the ith classified to the jth class.The evaluation of this matrix uses same metrics that we introduced for binary classification.Firstly, there are two simple ways to obtain the values for all the evaluation metrics except AUC introduced with the previous section.We need to create a unique 2 × 2 confusion matrix for each of the k classes: In a process called macro-averaging, we calculate the value of the metric separately for each class i = 1, . . ., k by using the numbers TP i , TN i , FN i , and FP i defined as above and then consider the mean value of the k result- ing values of the metric.Alternatively, in micro-averaging, we compute the value of the evaluation metric from the sums k i=1 TP i , k i=1 TN i , k i=1 FN i , and k i=1 FP i .Out of these procedures, macro-averaging gives equal weight to each class regardless of their size whereas micro-averaging gives equal weight to each instance and is therefore easily dominated by larger classes 25 .However, if each class should contain equally many instances  4.  .Similarly, MCC can be computed from a general k × k confusion matrix with the formula 27 In the special case k = 2 , we obtain the same formulas for Cohen's κ and MCC as in ( 2) and (3) 22 .

Multi-label classification
Multi-label classification is a generalized version of multi-class classification with nonexclusive class labels.Instead of dividing the data instances between several classes, the aim is to find all the class labels that apply out of k ≥ 2 possible labels.For each n instances, the model returns a binary vector y (i) , i = 1, . . ., n , whose jth element is 1 if the jth label is present and otherwise 0 for all j = 1, . . ., k .A possible metric for evaluation is the Hamming loss, defined as where x (i) j is the real value of the jth element in the binary vector of the ith data instance and y (i) j is the corresponding predicted value.The smaller the Hamming loss is, the better the model is.Alternatively, we can compute for instance the micro-or macro-average accuracy, precision, or recall for the vectors y (i) , i = 1, . . ., n 28 .

Regression
In a regression problem, a model is used predict instances whose values are real numbers rather than categorical.This is the case when predicting, for instance, height, stock prices, voter turnout, or rainfall amount.Here, we denote the real value of the ith instance in a test set of n instances by x i and its predicted value by y i for i = 1, . . ., n.
One way to evaluate the model is to measure correlation between the real and the predicted values 12 .The most well-known method for this is Pearson's correlation coefficient, defined as where x and y denote the mean values of the vectors (x 1 , . . ., x n ) and (y 1 , . . ., y n ) , respectively 29 .However, Pear- son's correlation coefficient is designed for measuring correlation between variables whose marginal distributions are assumed to be normal.Because of this, Spearman's correlation coefficient r s might be a better evaluation metric when the real values x i are not even approximately normally distributed.Spearman's correlation coeffi- cient is obtained by first converting the observations x i and y i , i = 1, . . ., n , into their ranks and then computing Pearson's correlation coefficient of these ranks 29 .
Another way to evaluate the model is to use some error measurement, such as mean absolute error (MAE) . The difference between MSE and MAE is that MSE punishes more for large errors 12 .Naturally, the smaller the error measurement is, the better the model performs.

Image segmentation
Image segmentation is a process of dividing images into regions of pixels or, in case of three-dimensional (3D) images, voxels, so that different objects and their boundaries can be located.In practice, this means converting a matrix of the same size as an image into a segmentation mask whose each point tells the class of the corresponding point in the image.In binary image segmentation, the desired output is a binary mask with positive elements coded as 1s and negative elements as 0s but we can also perform multiclass image segmentation called semantic segmentation by using more integers to signify different classes.An example of binary tumor segmentation can be seen in Fig. 2.
One of the possible evaluation metric for an image segmentation masks is accuracy.In case of binary segmentation, we could simply count the number of TP, TN, FN, and FP pixels and calculate the accuracy as in (1).However, the issue with this approach is that the number of positive pixels is typically very small compared to the number of negative pixels: For instance, if we try perform tumor segmentation for medical images of the body, the positive targets, while incredibly important, have minimal volume compared to the background and they might not even be present in some images.Because of this, the value of accuracy can be very high even in the cases where the model does not find the positive object as long as the majority of negative pixels is correct.
Vol.:(0123456789) www.nature.com/scientificreports/Consequently, the results of binary segmentation are often evaluated with a metric that ignores the TN points.Instead, we concentrate on evaluating the similarity of the predicted positive segment given by a CNN and the ground-truth positive segment annotated by a human.For this purpose, we can use the Sørensen-Dice similarity coefficient 30,31 , also known as the Dice score, defined for two sets X and Y as where |S| denotes the number of pixels or voxels in the set S 32 .This definition can be equivalently written as by using the elements of the confusion matrix from the binary predictions of the points 32 .A very similar alternative to Dice score is the Jaccard similarity coefficient 33 , which is also known as the Jaccard index or Intersection over Union (IoU), and defined as for the sets X and Y, and for the elements of the confusion matrix 32 .The equality IoU = D/(2 − D) holds trivially between the IoU and the Dice score 32 .
There are also metrics specially designed for 3D segmentation, as this is common task for medical tomography images.The surface of the point set X, denoted by ∂X , is the set of all voxels in X for which at least one of the 18 or the 26 neighbour voxels is does not belong in X.As an alternative to the typical Dice score, the surface Dice similarity coefficient (SDSC) can be computed by replacing X and Y with their surfaces ∂X and ∂Y in (5).Let d(x, y) be the Euclidean distance between two voxels x and y, and define d(x, Y ) = min y∈∂Y d(x, y) for the set Y. The average symmetric surface distance (ASD) between sets X and Y can now be defined as The Hausdorff distance is hd(X, Y) = max x∈X d(x, Y) and its symmetric version, also known as the maximum symmetric surface distance, is HD(X, Y) = max{hd(X, Y), hd(Y, X)} .The symmetric volume difference (SVD) is a Dice-based error metric defined as SVD = 1 − D and the volumetric overlap error (VOE) is the corresponding error measure derived from IoU, VOE = 1 − IoU .The model performance is considered better with smaller surface distances and errors terms 34 .
The results of multi-class semantic segmentation are typically evaluated by using mean Dice or IoU values, either as the mean of all within-class scores in a single image or the class-specific means of several images.The similarity of two semantic segmentation masks or any two can be also evaluated with structural similarity index The SSIM is typically computed by using the formula above within several kernels or windows of the images.The values of SSIM are interpreted as those correlation: 1 for perfect similarity, 0 for no association, and −1 for perfect opposites.

Object detection
Another similar tasks related to image processing is object detection, in which we find bounding boxes around each object in the image and classify them into different classes.A good object detector is capable of finding all the objects in an image without producing any false observations, placing the bounding boxes as close their correct locations as possible, and also classifying all the found objects correctly.Due to the diversity in these subtasks, evaluation of object detectors is slightly more complicated than it is for the other models introduced.
To evaluate the results of object detection, we must start by counting how many objects of a specific class were found.This quickly leads to the question how to decide how close a predicted bounding box needs to be a ground-truth box so that we can interpret the object as found.The common criteria here is IoU defined as in ( 6): The prediction is only considered a match of a ground-truth box if the IoU value of the two boxes exceeds a certain threshold value, often 0.5.If there are several predicted boxes producing an IoU high enough with the same ground-truth box, only the best one in terms of IoU is considered a match to the ground-truth box while all the others are FP observations.Namely, FP is here the number of predicted boxes without a matching groundtruth box while TP is the number of the predictions that match a ground-truth box of the same class and FN is the number of ground-truth boxes without a matching prediction 10 .
With the TP, FP, and FN numbers of the specific class, we can compute precision and recall as in (1).Since an object detector outputs a confidence for every bounding box expressing how confident the model is about the prediction, we can remove the predictions below a threshold of confidence.Changing this threshold affects TP, FP, and FN numbers and therefore also precision and recall.The precision-recall curve (PRC) can be obtained by plotting precision against recall at all possible thresholds of confidence.After that, we can compute average precision (AP) as the area under the PRC.The whole model is evaluated by computing mean average precision (mAP) as the mean value of the APs in all the different classes.We often consider mAP@0.5 which is computed by using the IoU threshold 0.5 to define a match but just as well we could compute mAP@0.75 or mAP@0.9, or mAP@[0.5:0.95] which is the the mean value of mAP@0.5, mAP@0.55, . . ., mAP@0.95.The metric mAP@0.9 is more strict than mAP@0.5 given it requires greater overlap for the potential matches and is therefore suitable for situations where the predicted bounding box locations need to be very exact 10 .

Information retrieval
Information search and retrieval is a significant task in ML research.The ability to retrieve only relevant results from large image-or text-based databases is crucial for these databases to be actually useful.Search engines and other information retrievals models can be evaluated by using precision and recall to describe the percentage of relevant retrieved documents among either search results or all the relevant documents.If we have K results d 1 , . . ., d K ordered by estimated relevance from the database D and each document d is either relevant ( rel(d) = 1 ) or not ( rel(d) = 0 ), we can compute precision of the first k retrieved documents as P@k = k i=1 rel(d i )/k , for k = 1, . . ., K and then define AP as 36 The mAP is obtained by a mean value of AP across different topics or search queries 36 .If results have more classes than just relevant and non-relevant, discounted cumulative gain (DCG) of k first results can be defined as where G(i) is a numerical value presenting the gain of the ith result 37 .For instance, the values 10, 7, 3, 0.5, and 0 are often used for perfect, excellent, good, fair, and bad results, respectively 37 .If there are several search queries to be evaluated, mean DCG can be used.

Statistical tests
The motivation behind statistical tests is often to find out whether there is a significant difference between two different populations within respect of some specific property.We can collect smaller data sets from the populations and use them to compute values of the numeric quantity representing the feature of interest.Since there is nearly always at least slight difference between these values, the relevant question is whether this difference is great enough to be considered as an actual evidence of an underlying dissimilarity between the populations or if it is just a result of random variation.
The process of statistical testing is relatively simple: We formulate a null hypothesis H 0 according to which there is no real difference, choose some level of significance α ∈ (0, 1) , and define a suitable test statistic Z with a www.nature.com/scientificreports/known probability distribution P(Z|H 0 ) under the null hypothesis.We then use this distribution to compute the probability of obtaining at least as extreme value for the statistic Z than the one value z already observed.If the resulting probability p = 2 min{P(Z ≤ z|H 0 ), P(Z ≥ z|H 0 )} , called p value, is less than α , then the null hypoth- esis is rejected and the difference is considered statistically significant.We make a type I error when rejecting a true null hypothesis, and a type II error is accepting a false null hypothesis.We can control the probability of a type I error as its is equal to α .We could also use α to compute the critical values for the statistic for accepting or rejecting the null hypothesis instead of using a p value.However, in this paper, all the test functions in Python 38 and R 39 mentioned return a p value.We use α = 0.05 as the level of significance in our examples.When comparing performance of two or more models, it is often necessary to perform the tests for multiple times depending on the evaluation metric and the statistical test used.For instance, while we can compute Dice score of every predicted segmentation mask in the test set, we only obtain one value of accuracy from the predictions of the whole test set after binary classification and as well as one value of MSE after regression.If we want to compare regression models, we can test squared errors instead of their mean and, in case of binary classification, there are tests that are based on the predictions of a single test set.In other cases, we have to evaluate our models on several test sets to obtain enough values from other evaluation metrics for statistical testing.The required values of an evaluation metric for a certain statistical test are summarized in the flowchart of Fig. 3.
While the test sets should ideally come from fully different data sets, sometimes our only option is to use a resampling procedure to create multiple test sets from the same data.In practice, we must re-initialize, train, and test the models for several times and save the values of the evaluation metrics from the predictions of the test set on each iteration round..Alternatively, we can perform repeated cross-validation that has a few re-runs of each potential test set 12 .However, it should be taken into account that resampling methods do not produce independent values for the evaluation metrics and might lead to underestimating the variance of the test statistic, causing biased results 12 .

Testing for a significant difference in any evaluation metric
Regardless of whether the values of the evaluation metric come from a single test set or several test sets on different iteration rounds, the values of the metric for the two models are based on the same instances and therefore paired.Many researchers therefore check which of the models gives a higher mean and then use a paired t-test to test if the difference in the mean is significant 4 .The null hypothesis of the paired t-test is that the mean of the differences in the matched pairs is equal to 0 40 , and this test can be performed with the function ttest_rel in the package scipy.stats 41in Python or t.test(x,y,paired=TRUE) in the base package stats in R.There are also such newer variations of the t-test that are specially designed to repeated cross-validation 11 .However, the t-test is not recommended for this situation because it is strongly affected by outliers 4 and not valid when resampled test sets are used 12 .
Another possible test is a sign test.If two models are evaluated by using N test sets and there is no difference between them, then each of them should produce a better value for the evaluation metric N/2 times 4 .Thus, the number of times where the first model is better than the second follows a binomial distribution and, for a greater number of N, a normal distribution with a mean N/2 and standard deviation √ N/2 11 .We can therefore apply the sign test to test whether one of the models outperforms the other with respect to the chosen evaluation metric in a statistically significant way.However, the sign test has a very weak power for detecting significant differences 4 .
The best alternative for this situation is the Wilcoxon signed-rank test instead 4 .It is a non-parametric test for the null hypothesis that the median of the differences in the matched pairs is equal to 0 42 .This test has the test statistic and rank(|d i |) , i = 1, . . ., n , denote the differences d i in the n matched pairs ranked by their absolute values 43 .The T-statistic can be examined directly by using its own critical values or, for large values of n, utilizing the statistic which follows the normal distribution under the null hypothesis 4 .The Wilcoxon signed-rank test can be performed with wilcoxon in scipy.stats in Python or wilcox.test(x,y,paired=TRUE) in stats in R.

Test for comparing several models
As explained above, we can use Wilcoxon signed-rank test to estimate whether the differences between two models are significant with respect to any evaluation metric, but this test is not ideal when comparing several models.Namely, while we can repeat Wilcoxon tests between each pair of models, the risk of type I error increases with multiple comparisons.Adjusting the level of significance by Bonferroni correction has been suggested as a solution 44 but it is overly radical 4 .
Instead, the better approach in a situation where we have K models evaluated in J data sets is to perform Friedman's test 4 .The average rank of the kth model, k = 1, . . ., K , is R k = J j=1 r j k /J where r j k is the rank of the jth value of the evaluation metric for the kth model 4 .The test statistic can be now written as or, as noted by Iman and Davenport 45 , as 4 Out of the two statistics, χ 2 F is overly conservative and F ID is therefore recommended 4 .Under the null hypothesis, χ 2 F follows the χ 2 -distribution with K − 1 degrees of freedom and F ID follows the F-distribution with K − 1 and (K − 1)(J − 1) degrees of freedom 4 .Friedman's test can be performed with friedmanchisquare in scipy.stats in Python or friedman.test in stats in R, but both of these functions are based on the statistic χ 2 F and therefore are not reliable for small values of J.However, if J is small, we can use a few separate Wilcoxon signedrank tests instead.

Tests for binary classification of a single test set
There are also such tests for comparison of two classifiers which only require their predictions from a single iteration round.McNemar's test is a common non-parametric test that only requires two numbers and is typically used to compare either sensitivity or specificity of two classifiers 46 .To find out whether there is a significant difference in the sensitivity of the classifiers, let b be the number of positive instances in the test set misclassified as FN by the first classifier but not by the second classifier and c similarly the number of positive instances misclassified Vol  47 .If there is no significant difference in the performance of the two classifiers, the test statistic follows the χ 2 -distribution with 1 degree of freedom for b + c ≥ 20 and a binomial distribution otherwise 11 .This test can be performed with mcnemar in statsmodels.stats.contingency_tables 48in Python or mcnemar.test in stats in R. We can also use the DeLong test to see whether there is a statistically significant different between the AUCs of two binary classifiers.Namely, DeLong et al. 49 noticed that the Mann-Whitney statistic can be used as an estimate of an AUC and the theory of generalized U-statistic can be applied to compare two AUCs.The Mann-Whitney two-sample statistic for AUC can be written as where m is the number of truly positive instances, n is the number of the number of truly negative instances, Y i1 is the numeric prediction of the ith positive instance before it was converted into binary and, similarly, Y j0 is the numeric prediction of the jth negative instance 50 .Let θ1 be the estimate above for the AUC of the first classifier and θ2 the same for the second classifier.The DeLong test estimates their variance and covariance (see e.g. 51for the exact formulas) and then uses the statistic which follows the normal distribution under the null hypothesis due to the properties of the known U-statistic 51 .The DeLong test can be performed with roc.test(x,y,method= 'delong') in the package pROC 52 in R.

Tests for comparing variance
Another important factor when comparing the performance of models is the amount of variance they produce.A model that consistently obtains high values in some evaluation metric is better than a model whose performance varies greatly on different iteration rounds.However, it must be taken into careful consideration here how the multiple values of the evaluation metric are obtained before considering their variance.For instance, if we use repeated cross-validation, we will not obtain a realistic estimate how the performance of a model would vary over different data sets.
We can use the F-test of equality of variances to test the null hypothesis according to which two populations have equal variances.The test statistic is F = S 2 1 /S 2 2 where S 2 1 and S 2 2 are the sample variations in the values produced by the two models for the evaluation metric, and this F-statistic follows the F-distribution with n − 1 and n − 1 degrees of freedom under the null hypothesis 53 .
However, the use of the F-test is not recommend for non-normally distributed values and this is often the case when comparing evaluation metrics: For instance, if the model has a median accuracy of 90% but a high amount of variation between different test sets, it is likely that the distribution of accuracy is left-skewed as the accuracy is limited on [0, 1] by its definition.The normality can be tested here with the Shapiro-Wilk test 54 (shapiro in the package scipy.statsand shapiro.test in the package stats in R).If the data is not normally distributed, the possible alternatives for the F-test include Barlett's test 55 (bartlett in scipy.stats in Python and bartlett.test in stats in R) and Levene's test 56 (levene in scipy.stats in Python and leveneTest in the package car 57 in R).

Comparison to a human
In ML research, it is often of interest if a specific ML model performs better than a human.Especially, in a medical field, it is useful to estimate the difference between the tumor masks predicted by a CNN differ and those drawn by a physician by taking into account how much difference there would be if the same masks were drawn by two different physicians.For this purpose, we can use statistical testing to compare the results of an ML model and a human in terms of a relevant evaluation metric as we would compare the performance of two models.However, there might be some cases where this comparison is not possible: A human is not able to go through very large amounts of data, at least not fast, and, while we can always re-initialize the model between different rounds of repeated cross-validation, a human will not forget their earlier decisions.Because of this, statistical comparison between an ML model and a human is often limited to using McNemar's test or the DeLong test to compare classifications in a single test set or the Wilcoxon signed-rank test to compare segmentation masks in terms of Dice and IoU values for a reasonable number of images.

Software requirements
The CNNs were coded in Python (version: 3.9.9) 38with packages TensorFlow (version: 2.7.0) 58 and Keras (version: 2.7.0) 59 .Most of the test were preformed in Python with scipy (version: 1.7.3) 41or statsmodels (version: 0.14.0) 48.The DeLong test was performed and Fig. 1 was plotted with pROC (version: 1.18.5) 52in R (version: 3.4.1) 39.The images of the third data set had been studied with Carimas (version: 2.10) 60 , which was also used to draw their binary masks.

Data
We use three data sets consisting of two-dimensional grayscale images converted into the size of 128 × 128 pixels.The first data set contains 3000 chest X-rays of COVID-19 patients and 3000 chest X-rays of healthy patients chosen from COVID-19 Radiography Database 61,62 .The second data set has 700 chest X-rays of healthy patients and 700 chest X-rays of COVID-19 patients from COVID-19 Radiography Database, 700 chest X-rays of patients with pneumonia from Chest X-Ray Images (Pneumonia) 63 , and 700 chest X-rays of tuberculosis patients from Tuberculosis (TB) Chest X-ray Database 64 .The third data set has a total of 962 two-dimensional transaxial image slices from the PET images of 89 head and neck squamous cell carcinoma patients.The patients were imaged with 18 F-fluorodeoxyglucose tracer in Turku PET Centre, Turku, Finland, during years 2014-2022.More details about the imaging can be found in 65,66 .Each of the slices has also a ground-truth binary segmentation mask showing pixels depicting cancerous tissue as positive and the rest as negative, and they were chosen so that they have at least 6 positive pixels.All the cancer patients were at least 18 years of age, gave informed consent to the research use of their data, and the research from their data was approved by Ethics Committee of the Hospital District of Southwest Finland.All research was performed in accordance with the Declaration of Helsinki.

Convolutional neural networks
In both binary and multi-class classification, we use a CNN that has U-Net architecture by Ronneberger et al. 67 modified for classification 65 and a ready-built CNN called InceptionV3 available in Keras.For binary segmentation, we use two U-Nets, a shallower of which has 64 as maximum dimensionality of a Conv2D layer and a deeper of which has 128.They were also used in 66,68 .We use stochastic gradient descent as an optimizer for the classification CNN and Adam for the segmentation CNNs.The classification CNNs are trained on 10 epochs and the segmentation CNNs on 50.The learning rate of 0.001 and, during training, 30% of the training data is used for validation.After training the CNNs for binary classification, we predict both training and test sets and use the threshold giving the maximal Youden's index in the training set as a threshold for converting the numeric predictions of the test set into binary labels.We similarly convert the output after binary segmentation by using the threshold that produces the highest median Dice in the training set.For the multi-class classification, we obtain directly class labels by using the maximum elements of one-hot encoding.

Our experiments
We first compare the performance of the modified U-Net and InceptionV3 in binary classification by using our first data set of COVID-19 and negative X-rays with fivefold cross-validation.We compute all the possible evalu-

Results
The results of the binary classification task are summarized in the contingency table of Table 3 and the resulting values of the evaluation metrics are in Table 4.According two McNemar's test computed from Table 3 separately for sensitivity among COVID-19 patients and specificity negative patients, the modified U-Net produced significantly higher sensitivity (p value < 5.07e−5) but significantly lower specificity (p value < 0.0207).The ROC curves of the modified U-Net and InceptionV3 can be seen from Fig. 1 and, according the DeLong test, there is no significant difference in their AUC (p value = 0.137).
The median values of the evaluation metrics are in Table 5 for the multi-class classification task.According to t-tests and Wilcoxon tests, the modified U-Net is significantly better than InceptionV3, regardless of which metric is used.The p value of the t-test for macro-average F1-score is 6.47e−4 and less than 2.38e−5 for all the other metrics and, similarly, the p value of the Wilcoxon test for macro-average F1-score is 0.00116 and less than 6.37e−5 for all the other metrics.
The median and standard deviation of Dice and IoU values computed for the two U-Nets in the segmentation task are in

Discussion
In our first experiment, we used both McNemar's test and the DeLong test to study two CNNs used for binary classification.Our results show that the choice of the threshold was not ideal for the modified U-Net as we obtained high sensitivity on the cost of the specificity.This also reveals one issue with McNemar's test: It does not tell us which classifier is better if one of them has a significantly higher sensitivity but a significantly lower specificity.We would need to use some other thresholds to convert the output of the CNN into binary labels and then repeat McNemar's tests in order to find out if the significant differences are caused by specific threshold choices or not.In this respect, the DeLong test is more useful as its results do not depend on the threshold choices.However, to obtain more trustworthy results, it would still be necessary to use cross-validation and compare the AUCs of different test sets with the Wilcoxon signed-rank test.
In our second and third experiments, we used the t-test for comparing the values of evaluation metrics, even though it is not recommend for this, especially not when combined with repeated cross-validation.Its p values were relatively close to those of the Wilcoxon tests and, regardless of which test was used, we obtained the same conclusions about the significant differences.Since the misuse of the t-test is rather common, as noted by Demšar 4 , it is good to know that the results obtained in earlier research are not necessary wrong.Similarly, even though the F-test is not designed for non-normally distributed data, its p values were very close to those of Bartlett's tests.However, both the t-test and the F-test are sensitive to the error caused by potential outliers so their use can lead incorrect results.It should be noted here that aim of our experiments was to give examples of the use of the evaluation metrics and the related tests.To find out how often the t-test or some other test produces false conclusions when improperly used, more research is needed.Similarly, one possible topic for future research is also how many the number of the test sets affects the trustworthiness of the conclusions.

Conclusion
In this paper, we introduced several evaluation metrics for common ML tasks including binary and multi-class classification, regression, image segmentation, and object detection.Statistical testing can be used to estimate whether the different values in these metrics between two or more models are caused by actual differences between the models.The choice of the exact test depends the task of the models, the evaluation metric used, and the number of test sets available.As some metrics produce only one value from a single test set and there might be only one data set, some type of resampling, such as repeated cross-validation, is often necessary.Because of this, the well-known tests such the paired t-test underestimate variance and do not produce reliable results.Instead, the use of non-parametric tests such as the Wilcoxon signed-rank test or Friedman's test is recommend.

Figure 1 .
Figure 1.ROC curves computed from the binary predictions of a test set containing 300 chest X-rays with COVID-19 and 300 X-rays from healthy patients by the modified U-Net (in blue) and InceptionV3 (in gray), accompanied by a straight line equal to the theoretic ROC curve of a random binary classifier.The x-axis here uses sensitivity instead of the false positive rate but, since its values range from 1 to 0, the end result is a typical plot, not its reflection.The AUC values are 0.845 for the modified U-Net and 0.821 for InceptionV3.The values of other evaluation metrics are in Table4.

Figure 2 .
Figure 2. The binary tumor mask predicted by U-Net CNN with maximum dimensionality of 128 (in blue) and the ground-truth tumor mask drawn by a physician (in white) for one transaxial slice from a PET image of a head and neck cancer patient.The image is 128 × 128 pixels and the predicted segmentation mask contains 181 TP pixels, 16156 TN pixels, 17 FP pixels, and 30 FN pixels.This gives us Dice of 0.885, IoU of 0.794, and overall pixel accuracy of 0.997.

Table 2 .
The confusion matrix of a modified U-Net CNN whose task was to separate 2800 chest X-rays of the set as into four different classes: negative (class 1), COVID-19 (class 2), pneumonia (class 3), or tuberculosis (class 4).We see, for instance, that the CNN classified most X-rays showing tuberculosis as COVID-19.Based on this confusion matrix, the CNN has accuracy of 0.847, sensitivity of 0.695, specificity of 0.898, macroaverage precision of 0.744, micro-average precision of 0.695, Youden's index of 0.593, macro-average F1-score of 0.677, micro-average F1-score of 0.695, κ of 0.598, and MCC of 0.616.
as in the situation of in Table2, both micro-and macro-averaging yield same values for accuracy, sensitivity, specificity, and Youden's index.Cohen's κ and MCC have also own definitions specially designed for the multi-class classification: Cohen's Vol:.(1234567890) Scientific Reports | (2024) 14:6086 | https://doi.org/10.1038/s41598-024-56706-xwww.nature.com/scientificreports/ Researchers commonly use here k-fold cross-validation, in which the data is divided into k similarly sized folds and, during k iteration rounds, each fold is the test set exactly once while the other k − 1 form the training data Figure 3.The possible tasks for a model, their evaluation metrics, the values of the evaluation metric that must be computed for each model before statistical testing, the potential questions a statistical test could answer in the situation, and the suitable test.Vol:.(1234567890)Scientific Reports | (2024) 14:6086 | https://doi.org/10.1038/s41598-024-56706-xwww.nature.com/scientificreports/ FN by the second classifier but not by the first classifier.To study specificity, count the numbers b and c by using FP misclassifications among the negative instances.Comparing accuracy by counting errors among both positive and negative sets is not recommended .:(0123456789) Scientific Reports | (2024) 14:6086 | https://doi.org/10.1038/s41598-024-56706-xwww.nature.com/scientificreports/as ation metrics from our single test set and use McNemar's test for sensitivity and specificity and DeLong test for AUC.Then we compare the modified U-Net and InceptionV3 in multi-class classification with repeated fivefold cross-validation (5 re-runs of each test set).We save the values of micro-and macro-average evaluation metrics after each round and use the Wilcoxon signed-rank test to estimate whether the differences in the resulting 25 values of each metric are significant or not.Even though the paired t-test should not be used for this, we perform it to see if its p values would be different from those of the Wilcoxon test.Finally, we divide our third data set patient-wise into train and test sets so that the test set has 191 slices (19.9% of the total data), and compare the two U-Nets for binary segmentation.We use the Shapiro-Wilk test to test the normality of Dice and IoU values of different segmentation masks, t-test and Wilcoxon test to estimate their differences, and F-test, Bartlett's test and Levene's test to check if there are significant differences in variances.

Table 3 .
The contingency tables for comparing the performance of the modified U-Net and InceptionV3 in binary classification among both COVID-19 and negative X-rays separately.

Table 6 ,
as are the p values of Shapiro-Wilk tests, t-tests, Wilcoxon tests, F-tests, Bartlett's tests, and Levene's tests.Based on these p values, neither Dice nor IoU values are normally distributed, the deeper U-Net is significantly better in terms of both Dice and IoU values, and, while the deeper U-Net had higher standard deviation, this difference is only significant according to Levene's test performed for the IoU values.

Table 4 .
The evaluation metrics computed for the modified U-Net and InceptionV3 from Table3.

Table 5 .
The median values of the evaluation metrics computed for the modified U-Net and InceptionV3 during the rounds of the multi-class classification task with repeated fivefold cross-validation.The results obtained with micro-averaging (Mic.) and macro-averaging (Mac.) are here separately for precision and F1-score but both these methods give the same values for accuracy, sensitivity, specificity, and Youden's index.

Table 6 .
Median and standard deviation of Dice and IoU values computed from the binary segmentation masks predicted by two U-Nets for 191 image slices of the test set.The U-Nets with different depths are distinguished here according to whether the maximum dimensionality of a Conv2D layer is 64 or 128.The table also contains the p values of Shapiro-Wilk tests for testing the normality separately for Dice and IoU values of each U-Net, and p values of t-tests, Wilcoxon tests, F-tests, Bartlett's tests, and Levene's tests comparing the two U-Nets.