# Assess Performance of the Classification Model

Assess Performance of the Classification Model, We can evaluate a classification model’s effectiveness using a metric called the Matthews correlation coefficient (MCC).

It is determined by:

`MCC = (TP*TN – FP*FN) / √(TP+FP)(TP+FN)(TN+FP)(TN+FN)`

where:

TP: Number of true positives

TN: Number of true negatives

FP: Number of false positives

FN: Number of false negatives

This statistic is especially helpful when there is an imbalance between the two classes, meaning that one class appears substantially more frequently than the other.

Training and Testing Data in Machine Learning »

MCC’s value ranges from -1 to 1, depending on:

A score of -1 denotes a complete discrepancy between expected and actual classes.

0 is equivalent to making an entirely arbitrary guess.

Total agreement between expected and actual classes is indicated by a score of 1.

Consider the scenario where a sports analyst employs a logistic regression model to forecast the NBA draught status of 400 distinct school basketball players.

## Assess Performance of the Classification Model

The model’s predictions are encapsulated in the confusion matrix below:

We can use the following formula to determine the model’s MCC:

```MCC = (TP*TN – FP*FN) / √(TP+FP)(TP+FN)(TN+FP)(TN+FN)
MCC = (15*375-10*10) / sqrt((15+10)*(15+10)*(375+10)*(375+10))
MCC = 0.574026```

The result is that Matthews’ correlation coefficient is 0.574026.

Indicating that the model does do a respectable job of forecasting whether or not players will be selected, this score is pretty near to one.

The following example uses R’s mcc() function from the mltools package to demonstrate how to calculate MCC for this specific circumstance.

What are the algorithms used in machine learning? »

### An illustration is computing the Matthews correlation coefficient in R

The mcc() function from the mltools package is used to calculate the Matthews correlation coefficient after defining a vector of predicted classes and a vector of actual classes:

`library(mltools)`

Use the confusionM argument as follows to determine the Matthews correlation coefficient for a confusion matrix.

Now we can create a confusion matrix

`confmatrix <- matrix(c(15, 10, 10, 375), nrow=2)`

Let’s view the confusion matrix

`confmatrix`
```     [,1] [,2]
[1,]   15   10
[2,]   10  375```

Now we can calculate the Matthews correlation coefficient for the confusion matrix.

Python is superior to R for writing quality codes »

```mcc(confusionM = confmatrix)
 0.574026```

Matthews’s correlation coefficient is 0.574026