0% found this document useful (0 votes)
94 views

Confusion Matrix

A confusion matrix is used to evaluate classification models. It compares predicted and actual classifications in a table. It allows calculating metrics like accuracy, precision and recall. An example shows a confusion matrix for a disease prediction model with 100 predictions total, 89 correct and 11 incorrect.

Uploaded by

Dev Goyal
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
94 views

Confusion Matrix

A confusion matrix is used to evaluate classification models. It compares predicted and actual classifications in a table. It allows calculating metrics like accuracy, precision and recall. An example shows a confusion matrix for a disease prediction model with 100 predictions total, 89 correct and 11 incorrect.

Uploaded by

Dev Goyal
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

A Confusion matrix is an N x N matrix used for evaluating the performance of a classification

model, where N is the number of target classes. The matrix compares the actual target values
with those predicted by the machine learning model.

Some features of Confusion matrix are given below:

o For the 2 prediction classes of classifiers, the matrix is of 2*2 table, for 3 classes, it
is 3*3 table, and so on.
o The matrix is divided into two dimensions that are predicted values and actual
values along with the total number of predictions.
o Predicted values are those values, which are predicted by the model, and actual
values are the true values for the given observations.
o It looks like the below table:

The above table has the following cases:

o True Negative: Model has given prediction No, and the real or actual value was
also No.
o True Positive: The model has predicted yes, and the actual value was also true.
o False Negative: The model has predicted no, but the actual value was Yes, it is
also called as Type-II error.
o False Positive: The model has predicted Yes, but the actual value was No. It is
also called a Type-I error.

Need for Confusion Matrix in Machine learning


o It evaluates the performance of the classification models, when they make
predictions on test data, and tells how good our classification model is.
o It not only tells the error made by the classifiers but also the type of errors such
as it is either type-I or type-II error.
o With the help of the confusion matrix, we can calculate the different parameters
for the model, such as accuracy, precision, etc.

Example: We can understand the confusion matrix using an example.

Suppose we are trying to create a model that can predict the result for the
disease that is either a person has that disease or not. So, the confusion matrix
for this is given as:

From the above example, we can conclude that:

o The table is given for the two-class classifier, which has two predictions "Yes" and
"NO." Here, Yes defines that patient has the disease, and No defines that patient
does not has that disease.
o The classifier has made a total of 100 predictions. Out of 100 predictions, 89 are
true predictions, and 11 are incorrect predictions.
o The model has given prediction "yes" for 32 times, and "No" for 68 times.
Whereas the actual "Yes" was 27, and actual "No" was 73 times.

Calculations using Confusion Matrix:


We can perform various calculations for the model, such as the model's accuracy, using
this matrix. These calculations are given below:
Classification Accuracy: It is one of the important parameters to determine the
accuracy of the classification problems. It defines how often the model predicts the
correct output. It can be calculated as the ratio of the number of correct predictions
made by the classifier to all number of predictions made by the classifiers. The formula
is given below:

Recall: It is defined as the out of total positive classes, how our model predicted
correctly. The recall must be as high as possible.

Precision: It can be defined as the number of correct outputs provided by the model or
out of all positive classes that have predicted correctly by the model, how many of them
were actually true. It can be calculated using the below formula:

F-measure: If two models have low precision and high recall or vice versa, it is difficult
to compare these models. So, for this purpose, we can use F-score. This score helps us
to evaluate the recall and precision at the same time. The F-score is maximum if the
recall is equal to the precision. It can be calculated using the below formula:

Python Code (Confusion Matrix, Precision, recall and f1-score):


import numpy as np

import matplotlib.pyplot as plt

import pandas as pd

from sklearn.model_selection import train_test_split

from sklearn.neighbors import KNeighborsClassifier


from sklearn.metrics import classification_report, confusion_matrix

url = "https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data"

names = ['sepal-length', 'sepal-width', 'petal-length', 'petal-width', 'Class']

dataset = pd.read_csv(url, names=names)

#dataset.head()

x = dataset.iloc[:, :-1].values

y = dataset.iloc[:, 4].values

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.20)

classifier = KNeighborsClassifier(n_neighbors=5)

classifier.fit(X_train, y_train)

y_pred = classifier.predict(X_test)

print(confusion_matrix(y_test, y_pred))

print(classification_report(y_test, y_pred))

You might also like