Tuesday, March 30, 2021

Authenticity of Banknotes Using Machine Learning Methods (Instructor Name: Nuruzzaman Faruqui)

 Inrtoduction:

Banknotes are one of the most important assets of a country. This is a classification problem where we are given some input data and we have to classify the input into one of the several predefined categories. Rule-based as well as statistical techniques are commonly used for solving classification problems. Machine learning algorithms fall in the category of statistical techniques.

This is an important part of Artificial Intelligence course and this  lab report is done by myself under the supervision of Nuruzzaman Faruqui, lecturer of City University, Bangladesh. From this course we get to explore the real applicable approaches through AI and also acquires better knowledge of the functionality of AI and how AI is making our daily life easier. That's why this is the best Artificial Intelligence course in Bangladesh.

 

Problem Statement:

Machine learning algorithms learn from the data set. Statistical algorithms are used behind the scenes to make a machine learning model learn from the data. Therefore, to identify whether a banknote is real or not, we needed a data set of real as well as fake bank notes along with their different features.

We used Python libraries for the analysis of our data set as well as for training the machine learning models. To import the data set we used the some libraries. Once we import the libraries, the next step is to load the data set into our application. To do so, we used the “read_csv()” function of the library, which reads data set that is in the CSV format.

Here we have a data set. Now we are going to train the machine to predict that it is an actual and fake banknote.


 

In the above data set there are five-section and the last section depends on the first four sections. In the last sections, it will find the notes is real or fake. The first section is variance, the second is skewness, the third is kurtosis, fourth is entropy. we'll use 40% of our dataset in our program. 


Code Commentary:

 


Result:

Here, we are using Perceptron, SVM, KNN, GaussianNB models and will count the accuracy of the real notes that what percent of the real notes here in the first 40% of the data set.


Model

Correct

Incorrect

Accuracy

Perceptron

539

9

98.36%

SVM

545

3

99.45%

KNN

548

0

100%

GaussianNB

457

91

83.39%



In the banknotes.py file, we are importing the data set of banknotes. For this we install sci-kit-learn in python. Then import the random library cause it will count the data set randomly. We can see that K neighbor Classifier perform well its accuracy is 100%. But GaussianNB has very poor accuracy it's 83.03%.

 

Conclusion:

 Banknote authentication is an important task. It is difficult to manually detect fake bank notes. Machine learning algorithms can help in this regard. In this article, we explained how we solved the problem of banknote authentication using machine learning techniques. We compared three different algorithms in terms of performance and concluded that the Random Forest algorithms is the best algorithm for banknote authentication with an accuracy of 99.45%.

No comments:

Post a Comment

Linear Programming in Artificial Intelligent ((Instructor Name: Nuruzzaman Faruqui)

  Linear Programming   Introduction: Linear Programming is the technique of portraying complicated relationships between elements by using...