You are on page 1of 68

Approved by AICTE, New Delhi, permanently affiliated to JNTUA, Anantapuramu

Accredited by NBA, Ayyalurumetta, Nandyal, Kurnool (DT), AP-518502


Department of Computer Science and Engineering

INSTITUTE VISION, MISSION AND CORE VALUES

VISION
To produce Competent Engineering Graduates & Managers with a strong base of Technical &
Managerial Knowledge and the Complementary Skills needed to be Successful Professional
Engineers & Managers.
MISSION
To fulfill the vision by imparting Quality Technical & Management Education to the Aspiring
Students, by creating Effective Teaching/Learning Environment and providing State – of the – Art
Infrastructure and Resources.
CORE VALUES
 Commitment to Continual Improvement
 Inclusiveness
 Enhancement of Student Learning through Innovative Instructional Methods
 Collaboration with Industry and other Institutions for Mutual Benefits Pursuit of Excellence in
all Activities.
Approved by AICTE, New Delhi, permanently affiliated to JNTUA, Ananthapuramu
Accredited by NBA, Ayyalurumetta, Nandyal, Kurnool (DT), AP-518502
Department of Computer Science and Engineering

DEPARTMENT VISION AND MISSION

VISION
st
To produce Industry ready Software Engineers to meet the challenges of 21 Century.

MISSION
 Impart core knowledge and necessary skills in Computer Science and Engineering through
innovative teaching and learning methodology.

 Inculcate critical thinking, ethics, lifelong learning and creativity needed for industry and
society

 Cultivate the students with all-round competencies, for career, higher education and self-
employability
Program Outcomes (PO's):

PO Graduate PO Statements
Number Attributes

1 Engineering Apply the knowledge of mathematics, science, engineering fundamentals, and an


Knowledge engineering specialization to the solution of complex Engineering problems.

Identify, formulate, review research literature, and analyse Complex engineering


2 Problem Analysis problems reaching substantiated conclusions using first principles of mathematics,
natural sciences, and engineering sciences.
Design/ Development Design solutions for complex engineering problems and design system
3 of Solutions components or processes that meet the specified needs with appropriate
consideration for the public health and safety ,and the cultural, societal ,and
environmental
considerations.
Conduct Ability to review research literature, use research methods to execute project and
4 Investigations of synthesize the problem to provide valid conclusions.
Complex Problems
Create, select, and apply appropriate techniques, resources, and modern
5 Modern Tool Usage engineering and IT tools including prediction and modelling to complex
engineering activities with an understanding of the limitations.
The Engineer and Apply reasoning informed by the contextual Knowledge to assess societal, health,
6 Society safety, legal and cultural issues and the consequent responsibilities relevant to the
professional engineering practice.
Environment and Understand the impact of the professional engineering solutions in societal and
7 Sustainability environmental contexts, and Demonstrate the knowledge of, and need for
sustainable development.
8 Ethics Apply ethical principles and commit to professional ethics and responsibilities and
norms of the engineering practice.

9 Individual and team Function effectively as an individual, and as a member or leader in di verse teams,
work and in multidisciplinary settings.

Communicate effectively on complex engineering activities with the engineering


10 Communication community and with society at large , such as, being able to comprehend and
write effective reports and design documentation ,make effective presentations
,and give and receive clear instructions.
Project Management Demonstrate knowledge and understanding of the engineering and management
11 and Finance principles and apply these to one ’s own work, as a member and leader in a team,
to manage projects and in multidisciplinary environments.
12 Life -long Learning Recognize the need for, and have the preparation and ability to engage in
independent and life-long learning in the broadest context of technological
change.
Program Specific Outcomes (PSOs):

S.NO PSO Program Specific Outcomes


Number
Demonstrate knowledge and understanding of the engineering and management
1 PSO 1 principles and apply these to one’s own work, as a member
and leader in a team, to manage projects and in multidisciplinary environments.
Recognize the need for, and have the preparation and ability to engage in
2 PSO 2 independent and life-long learning in the broadest context of technological
change.

TITLE PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

Evaluation of
Machine Learning
Algorithms for the
Detection of Fake 2 2 2 2 3 3 3 2
Bank Currency
A PROJECT REPORT ON
“EVALUATION OF MACHINE LEARNING ALGORITHMS FOR
THE DETECTION OF FAKE BANK CURRENCY”

A Project report submitted in partial fulfillment of the requirement for the award
of degree of

BACHELOR OF TECHNOLOGY
IN

COMPUTER SCIENCE & ENGINEERING

By
G.INDU 20AM1A0517
D.ABDUL BASHA 20AM1A0501
D.SIVA KISHORE 20AM1A0549
Under the Esteemed guidance of

Mrs. M.HIMA BINDU, M.Tech


Assistant Professor

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING

SVR ENGINEERING COLLEGE


(APPROVED BY A.I.C.T.E., NEW DELHI-AFFILIATED TO J.N.T.UNIVERSITY, ANANTAPUR)

ESTD-2007
AYYALURU (V), NANDYAL-518503 Kurnool Dist. A.P.,
Batch: 2020-2024
SVR ENGINEERING COLLEGE
Approved by A.I.C.T.E., New Delhi& Affiliated to JNTU, Anantapur.

NANDYAL – 518503, KURNOOL (Dist.).


DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING

CERTIFICATE
This is certified that the technical seminar entitled, “Evaluation of Machine
Learning Algorithms for the Detection of Fake Bank Currency” is being
submitted by G.INDU(20AM1A0517), D.ABDUL BASHA(20AM1A0501),
D.SIVA KISHORE(20AM1A0549) in partial fulfillment of the requirements
for the award of Degree of BACHELOR OF TECHNOLOGY in
COMPUTER SCIENCE & ENGINEERING to SVR ENGINEERING
COLLEGE is a record of bonafide work carried out by them during the academic
year 2023-2024 under our guidance and supervision.
The results presented in this technical seminar have been verified and found to be
satisfactory.

Project Guide: Head of the Department:


Mrs.M.HIMA BINDU, M.Tech., Mr.M.NAGA MALLAKARJUNA REDDY, M.Tech.,
ASSISTANT PROFESSOR ASSOCIATE PROFESSOR&HOD
SVREC SVREC

External Examiner
ACKNOWLEDGEMENT

We wish to regard a deep sense of gratitude and sincere thanks to our guide
Mrs.M.HIMA BINDU, M.Tech Assistant professor, Department of Computer science
and Engineering, SVR ENGINEERING COLLEGE who has guided and motivated
with scholar advice, meticulous care and deep interest throughout the project
duration. She has been a constant source and encouragement and offered valuable
guidance and suggestions from time to time and helped us at various stages of the
project work. Her motivation has been a source of inspiration and model for us to
follow .As stated in the past, “THERE IS NO WAY WITHOUT A GUIDE IN LIFE
“It would not have been possible for us to complete this wonderful and challenging
project without our beloved guide, Mrs.M.HIMA BINDU, M.Tech

We wish to acknowledge our sincere gratitude to Mr.M.NAGA MALLIKARJUNA


REDDY,M.Tech. Head of the department of CSE, SVR ENGINEERING
COLLEGE, Nandyal for permitting us to do the project and giving all sorts of
encouragement and scholary guidance throughout the project work.

We express our sincere thanks and gratitude to Dr.P.MALLIKARJUNA REDDY


professor & principal, SVR ENGINEERING COLLEGE, Nandyal, for having
provided all the facilities of the department to complete this dissertation work
successfully.

We are greatly indebted to Sri S.VENKATA RAMIREDDY, chairman of the


college for giving us the opportunity and moral support throughout the course.
Finally, we wish to express a deep sense of gratitude to our family, friends and our
college staff members and laboratory of computer science Department who helped
in completing this project work successfully.

G.INDU 20AM1A0517
D.ABDUL BASHA 20AM1A0501
D.SIVA KISHORE 20AM1A0549
ABSTRACT

The one important asset of our country is Bank currency and to create
discrepancies of money miscreants introduce the fake notes which resembles to
original note in the financial market. During demonetization time it is seen that so
much of fake currency is floating in market. In general by a human being it is very
difficult to identify forged note from the genuine not instead of various parameters
designed for identification as many features of forged note are similar to original one.
To discriminate between fake bank currency and original note is a challenging task.
So, there must be an automated system that will be available in banks or in ATM
machines. To design such an automated system there is need to design an efficient
algorithm which is able to predict whether the banknote is genuine or forged bank
currency as fake notes are designed with high precision. In this project six
supervised machine learning algorithms are applied on dataset available on UCI
machine learning repository for detection of Bank currency authentication. To
implement this we have applied Support Vector machine, Random Forest, Logistic
Regression, Naïve Bayes, Decision Tree, K- Nearest Neighbor by considering three
train test ratio 80:20, 70:30 and 60:40 and measured their performance on the basis
various quantitative analysis parameter like Precision, Accuracy, Recall, MCC, F1-
Score and others. And some of SML algorithm is giving 100 % accuracy for
particular train testratio.
LIST OF CONTENTS
CHAPTER 1:INTRODUCTION 1-2

1.1 About The Project 1

1.2 Objective of the project 2

CHAPTER 2:LITERATURE SURVEY 3-4

Literature Survey 3-4

CHAPTER 3:SYSTEM ANALYSIS 5-16

3.1 Existing System 5

3.2 Proposed System 5

3.2.1 Modules 6-9

3.3 SDLC 10

3.3.1 Requirement Gathering Stage 11

3.3.2 Analysis Stage 11

3.3.3 Designing Stage 12

3.3.4 Development Stage 12

3.3.5 Integration & Test Stage 13

3.3.6 Installation & Acceptance Test 13

3.3.7 Maintenance 14

3.4 Software Requirement Specification 15

3.4.1 Overall Decription 15

3.4.2 External Interface Requirements 16

3.4.3 System Requirements 16

CHAPTER 4:SYSTEM DESIGN 17-23

4.1 Class Diagram 17

4.2 Use Case Diagram 17-18

4.3 Sequence Diagram 19

4.4 Component Diagram 20


4.5 Deployment Diagram 21

4.6 Activity Diagram 22

4.7 Data Flow 23

CHAPTER 5:IMPLEMENTATION 24-34

5.1 Python 24

5.2 Source Code 25-34

CHAPTER 6:TESTING 35-37

6.1 Implementation and Testing 35

6.1.1 Implementation 35

6.1.2 Testing 35

6.1.3 System Testing 35

6.1.4 Module Testing 36

6.1.5 Integration Testing 36

6.1.6 Acceptance Testing 36-37

CHAPTER 7:SCREENSHOTS 38-44

CHAPTER 8:CONCLUSION 45

CHAPTER 9:REFERENCES 46-47


LIST OF FIGURES
FIG NO FIG NAME PAGENO

3.3 Process Model Used With Justification(SDLC) 10

3.3.1 SDLC 10

3.3.2 Requirements Gathering Stage 11

3.3.3 Analysis Stage 11

3.3.4 Designing Stage 12

3.3.5 Development Stage 12

3.3.6 Integration and Test Stage 13

3.3.7 Installation and Acceptance Test 13

4.1 Class Diagram 17

4.2 Use Case Diagram 17-18

4.3 Sequence Diagram 19

4.4 Component Diagram 20

4.5 Deployment Diagram 21

4.6 Activity Diagram 22

4.7 Data Flow 23


LIST OF SCCREENSHOTS

S.NO SCREENSHOT NAME PAGENO

1 Dataset 39
2 Run.bat File 40
3 Upload Training Dataset 40
4 Note Lengths 41
5 Data Preprocessing 41
6 Run Algorithms 42
7 Table&Graph 43
8 Upload TestData 44
9 Check Genunie or Fake 44
Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

1. INTRODUCTION

1.1 About The Project

Financial activities are carrying out in every second by many persons in which
one most important asset of our country is Banknotes. Fake notes are introduced the
market to create discrepancies in the financial market, even they resemble to the original
note. Basically they are illegally created to complete various task. In 1990 forgery issue is
not much of concern but as in late 19th century forgery has been increasing drastically. In
20th century technology is increasing very vastly that will help the frauds to generate fake
note whose resemblance is like genuine not and it is very difficult to discriminate them
This will lead to financial market to its lowest level. Government have designed banknote
with some features by which we can identify genuine. But frauds are creating fake note
with almost same features with nice accuracy that make it very difficult to identify
genuine note. So, now a day it is required that bank or ATM machines must have some
system that can identify the forged note from the genuine note. To determine the
legitimacy of the banknote artificial intelligence and Machine learning (ML) can play a
vital role to design such a system that ca identify forged note from the genuine bank
currency Now days, supervised machine learning (SML) approaches for classification
problem is widely used. For medical disease its shows even promising results. Few
authors have only applied SML algorithms on bank currency authentication. To identify
weather a note is genuine or fake we have to develop an automation system. Initially, the
input is an image of note and from different image processing techniques we can extract
the features of note. Further these images are given as an input to the SML algorithms to
predict whether note is original or fake. In review we can see that not much of work is
done on this side.

DEPT OF CSE SVREC PAGE 1


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

Contribution of the project: First we have visualized the dataset taken from UCI
ML repository using different types of plotting, pre-processed the data. Further, SML
algorithms Logistic regression (LR), Naive Bayes (NB), Decision tree (DT), Random
tree (RT), KNN, SVM are applied on the data set which contains the features extracted
from the bank currency to classify them as whether it is original or not. For analysis of
their result, we have applied SML algorithms on dataset with three different train test
ratio and their results are compared on the basis of different SML algorithms standard
evaluation parameters like MCC, F1 Score, NPV, NDR, accuracy and others.

1.2 Objective of the project

The one important asset of our country is Bank currency and to create
discrepancies of money miscreants introduce the fake notes which resembles to original
note in the financial market. In general by a human being it is very difficult to identify
forged note from the genuine not instead of various parameters designed for
identification as many features of forged note are similar to original one.. So, there must
be an automated system that will be available in banks or in ATM machines. To design
such an automated system there is need to design an efficient algorithm which is able to
predict whether the banknote is genuine or forged bank currency as fake notes are
designed with high precision. In this project six supervised machine learning algorithms
are applied on dataset available on UCI machine learning repository for detection of
Bank currency authentication. To implement this we have applied Support Vector
machine, Random Forest, Logistic Regression, Naïve Bayes, Decision Tree, K- Nearest
Neighbor by considering three train test ratio 80:20, 70:30 and 60:40 and measured their
performance on the basis various quantitative analysis parameter like Precision,
Accuracy, Recall, MCC, F1-Score and others. And some of SML algorithm is giving
100 % accuracy for particular train test ratio.

DEPT OF CSE SVREC PAGE 2


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

2. LITERATURE SURVEY

“Euro Banknote Recognition System Using a Three-layered Perceptron and RBF


Networks”,

We propose an Euro banknote recognition system using two types of neural


networks; a three-layered perceptron and a Radial Basis Function (RBF) network. A
three-layered perceptron is well known method for pattern recognition and is also a very
effective tool for classifying banknotes. An RBF network has a potential to reject invalid
data because it estimates the probability distribution of the sample data. We use a three-
layered perception for classification and several RBF networks for validation. The
proposed system has two advantages over the system using only one RBF network. The
feature extraction area can be simply defined, and the calculation cost does not increase
when the number of classes increases. We also propose to use infra-red (IR) and visible
images as input data to the system since Euro banknotes have quite significant features
in IR images. We have tested our system in terms of acceptance rates for valid
banknotes and rejection rates for invalid data.

“Implementation of Multiple Kernel Support Vector Machine for Automatic


Recognition and Classification of Counterfeit Notes”,

With the advance of digital imaging technologies, color scanners and laser
printers make it increasingly easier to produce counterfeit banknotes with high
resolution. Almost every country in the world face the problem of counterfeit currency
notes.Even receiving Fake notes from ATM counters, vending machines and during
elections have also been reported at some places. There is a need to design a system that
is helpful in recognition of counterfeit notes. In this project, we propose a system based
on multiple-kernel support vector machines for counterfeit banknote recognition.

DEPT OF CSE SVREC PAGE 3


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

Linearly weighted combination is adopted to combine multiple kernels into a


combined matrix. Two strategies are adopted to reduce the amount of time and space
required by the semi definite programming (SDP) method. One strategy assumes the
non-negativity of the kernel weights, and the other one is to set the sum of the weights to
be unity.

“Making classifier performance comparisons when ROC curves intersect”

The ROC curve is one of the most common statistical tools useful to
assess classifier performance. The selection of the best classifier when ROC curves
intersect is quite challenging. A novel approach for model comparisons when ROC
curves show intersections is proposed. In particular, the relationship between ROC
orderings and stochastic dominance is investigated in a theoretical framework and a
general class of indicators is proposed which is coherent with dominance criteria also
when ROC curves cross. Furthermore, a simulation study and a real application to credit
risk data are proposed to illustrate the use of the new methodological approach.

“Enhancing banknote authentication by guiding attention to security features and


manipulating prevalence expectancy”

All banknotes have security features which are intended to help determine
whether they are false or genuine. Typically, however, the general public has limited
knowledge of where on a banknote these security features can be found. Here, we tested
whether counterfeit detection can be improved with the help of salient elements,
designed to guide bottom-up visuospatial attention.

We hypothesized (i) that in the presence of a salient element, counterfeits would


be better detected when the location of the salient element aligned with the location of
the counterfeited security feature—i.e. that it would act as an attention cue; and (ii) that
this effect would be stronger with lower trust.

DEPT OF CSE SVREC PAGE 4


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

3. SYSTEM ANALYSIS

3.1 Existing System

Financial activities are carrying out in every second by many persons in which
one most important asset of our country is Banknotes. Fake notes are introduced in the
market to
Create discrepancies in the financial market, even they resemble to the original
note. Basically they are illegally created to complete various task. In 1990 forgery issue
is not much of concern but as in late 19th century forgery has been increasing
drastically. In 20th century technology is increasing very vastly that will help the frauds
to generate fake note whose resemblance is like genuine not and it is very difficult to
discriminate them. This will lead to financial market to its lowest level. To stop this and
to conduct smooth transaction circulation forged bank currency must be conserved.

Disadvantages of Existing System:

 Less Accuracy
 Limited effectiveness
 Time-consuming
 Costly errors

3.2 Proposed System

Supervised machine learning (SML) approaches for classification problem is


widely used. For medical disease its shows even promising results . Few authors have
only applied SML algorithms on bank currency authentication .To identify weather a
note is genuine or fake we have to develop an automation system.
Advantages of Proposed System:

 More Accuracy
 Faster Detection Speed

DEPT OF CSE SVREC PAGE 5


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

3.2.1 Modules
To implement this project we have designed following modules

1) Upload Fake Currency Dataset: : using this module we will upload Upload Fake
Currency Dataset
2) Dataset Preprocessing: : using this module we will Dataset Preprocessing
3) Run KNN Algorithm : using this module we will Run KNN Algorithm
4) Run Naïve Bayes: : using this module we will Run Naïve Bayes
5) Run Decision Tree: using this module we will upload Run Decision Tree
6) Run SVM: using this module we will Run SVM
7) Run Random Forest : using this module we will Run Random Forest
8) Run Logistic Regression: using this module we will Run Logistic Regression
9) Run Extension LightGBM Algorithm : using this module we will Run Extension
LightGBM Algorithm Comparison Graph
10) Fake Currency Detection from Test Data: using this module we will Fake
Currency Detection from Test Data

FUNCTIONAL REQUIREMENTS

SOFTWARE REQIREMENTS:

System Attributes:
1) filename
2) X,Y
3) dataset
4) main
5) text

Data base Requirements:

No need

DEPT OF CSE SVREC PAGE 6


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

USECASE

Use cases - Use cases describe the interaction between the system and external users that
leads to achieving particular goals.
1) Upload Fake Currency Dataset
2) Dataset Preprocessing
3) Run KNN Algorithm
4) Run Naïve Bayes
5) Run Decision Tree
6) Run SVM
7) Run Random Forest
8) Run Logistic Regression
9) Run Extension LightGBM Algorithm
10) Comparison Graph
11) Fake Currency Detection from Test Data

User Stories:

In propose project author has used many traditional algorithms such as KNN,
Decision Tree, SVM, Random Forest, Logistic Regression and Naïve Bayes but author
has not used any advance machine learning algorithms such as ELM,XGBOOST, MLP
or LightGBM so as extension we have added LightGBM algorithm and compare its
performance with existing algorithms.

DEPT OF CSE SVREC PAGE 7


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

Work down Structure:

Prototype: Models and Diagrams:

python 3.7.0 or 3.7.4

opencv-python==4.5.1.48

keras==2.3.1

tensorflow==1.14.0

protobuf==3.16.0

h5py==2.10.0

sklearn-extensions==0.0.2

scikit-learn==0.22.2.post1

Numpy

Pandas

DEPT OF CSE SVREC PAGE 8


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

NON-FUNCTIONAL REQUIREMENT

Usability: Usability is a quality attribute that assesses how easy user interfaces are to
use. The word "usability" also refers to methods for improving ease-of-use during the
design process.(how it was handle entire project easy)

Security: the quality or state of being secure: such as. a : freedom from danger : safety.
b : freedom from fear or anxiety. c : freedom from the prospect of being laid off job
security.

Readability: Readability is the ease with which a reader can understand a written text.

Performance: the execution of an action. : something accomplished : deed, feat. : the


fulfillment of a claim, promise, or request : implementation. 3. : the action of
representing a character in a play.

Availability: the quality or state of being available trying to improve the availability of
affordable housing. 2 : an available person or thing.

Scalability: Scalability is the measure of a system's ability to increase or decrease in


performance and cost in response to changes in application and system processing
demands.

DEPT OF CSE SVREC PAGE 9


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

3.3. PROCESS MODEL USED WITH JUSTIFICATION

SDLC (Umbrella Model):

Umbrella
DOCUMENT CONTROL

Umbrella
Business Requirement
Documentation

• Feasibility Study
• TEAM FORMATION
ANALYSIS &
Requirement • Project
Specification DESIGN CODE UNIT TEST
s Gathering ASSESSMEN

INTEGRATIO ACCEPTANCE
N & SYSTEM TEST
TESTING DELIVERY/IN

Umbrella
TRAINING

Fig 3.3.1: SDLC Using Umbrella Model

SDLC is nothing but Software Development Life Cycle. It is a standard which is used by
software industry to develop good software.

Stages in SDLC:

 Requirement Gathering
 Analysis
 Designing
 Coding
 Testing
 Maintenance

DEPT OF CSE SVREC PAGE 10


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency
Requirements Gathering stage:

The requirements gathering process takes as its input the goals identified in the
high-level requirements section of the project plan. Each goal will be refined into a set
of one or more requirements. These requirements define the major functions of the
intended application, define operational data areas and reference data areas, and define
the initial data entities

Fig 3.3.2: Requirements Gathering Stage

Analysis Stage:

The planning stage establishes a bird's eye view of the intended software
product, and uses this to establish the basic project structure, evaluate feasibility and
risks associated with the project, and describe appropriate management and technical
approaches.

Fig 3.3.3: Analysis Stage

DEPT OF CSE SVREC PAGE 11


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency
Designing Stage:

The design stage takes as its initial input the requirements identified in the
approved requirements document. For each requirement, a set of one or more design
elements will be produced as a result of interviews, workshops, and/or prototype efforts.
Design elements describe the desired software features in detail, and generally include
functional hierarchy diagram.

Fig 3.3.4: Designing Stage

Development (Coding) Stage:

The development stage takes as its primary input the design elements described
in the approved design document. For each design element, a set of one or more
software artifacts will be produced. and functions.

Fig 3.3.5: Development Stage

DEPT OF CSE SVREC PAGE 12


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency
Integration & Test Stage:

During the integration and test stage, the software artifacts, online help, and test
data are migrated from the development environment to a separate test environment. At
this point, all test cases are run to verify the correctness and completeness of the
software.

Fig 3.3.6: Integration and Test Stage

 Installation & Acceptance Test:

During the installation and acceptance stage, the software artifacts, online help, and
initial production data are loaded onto the production server. At this point, all test cases
are run to verify the correctness and completeness of the software.

Fig 3.3.6: Integration and Acceptence Test

DEPT OF CSE SVREC PAGE 13


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

Maintenance:

Outer rectangle represents maintenance of a project, Maintenance team will start


with requirement study, understanding of documentation later employees will be
assigned work and they will undergo training on that particular assigned category. For
this life cycle there is no end, it will be continued so on like an umbrella (no ending
point to umbrella sticks).

DEPT OF CSE SVREC PAGE 14


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

3.4. Software Requirement Specification

3.4.1. Overall Description

A Software Requirements Specification (SRS) – a requirements specification for


a software system is a complete description of the behavior of a system to be developed.
It includes a set of use cases that describe all the interactions the users will have with the
software. In addition to use cases, the SRS also contains non-functional requirements.

 Business requirements describe in business terms what must be delivered or


accomplished to provide value.
 All system is feasible if they are unlimited resources and infinite time. There are
aspects in the feasibility study portion of the preliminary investigation:

 ECONOMIC FEASIBILITY

A system can be developed technically and that will be used if installed must still be
a good investment for the organization. In the economical feasibility, the development
cost in creating the system is evaluated against the ultimate benefit derived from the new
systems.

 OPERATIONAL FEASIBILITY

Proposed projects are beneficial only if they can be turned out into information
system. That will meet the organization’s operating requirements. Operational feasibility
aspects of the project are to be taken as an important part of the project implementation.
This system is targeted to be in accordance with the above-mentioned issues.

 TECHNICAL FEASIBILITY

Earlier no system existed to cater to the needs of ‘Secure Infrastructure


Implementation System’. The current system developed is technically feasible. It is a
web based user interface for audit workflow at NIC-CSD.

DEPT OF CSE SVREC PAGE 15


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

3.4.2. External Interface Requirements

User Interface

The user interface of this system is a user friendly python Graphical User Interface.

Hardware Interfaces

The interaction between the user and the console is achieved through python
capabilities.

Software Interfaces

The required software is python.

3.4.3.SYSTEM REQUIREMENTS

HARDWARE REQUIREMENTS:

 Processor - Intel i3(min)


 Speed - 1.1 GHz
 RAM - 4GB(min)
 Hard Disk - 500 GB

SOFTWARE REQUIREMENTS:

 Operating System - Windows10(min)


 Programming Language - Python

DEPT OF CSE SVREC PAGE 16


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

4. SYSTEM DESIGN

4.1 CLASS DIAGRAM

The class diagram is the main building block of object oriented modeling. It is used
both for general conceptual modeling of the systematic of the application, and for
detailed modeling translating the models into programming code. Class diagrams can
also be used for data modeling. The classes in a class diagram represent both the main
objects, interactions in the application and the classes to be programmed. In the diagram,
classes are represented with boxes which contain three parts:

 The upper part holds the name of the class


 The middle part contains the attributes of the class
 The bottom part gives the methods or operations the class can take or undertake

Fig: 4.1 Class Diagram

4.2 USECASE DIAGRAM

A use case diagram at its simplest is a representation of a user's interaction with


the system and depicting the specifications of a use case. A use case diagram can portray
the different types of users of a system and the various ways that they interact with the
system. This type of diagram is typically used in conjunction with the textual use case
and will often be accompanied by other types of diagrams as we

DEPT OF CSE SVREC PAGE 17


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

Dataset Preprocessing
Upload Fake Currency Dataset

Run KNN Algorithm

Run Naïve Bayes

Run Decision Tree

User

Run SVM

Run Random Forest

Run Logistic Regression

Run Extension LightGBM


Algorithm

Fake Currency Detection from Test


Data
Comparison Graph

Fig:4.2 Use Case Diagram

DEPT OF CSE SVREC PAGE 18


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

4.3 SEQUENCE DIAGRAM

A sequence diagram is a kind of interaction diagram that shows how processes


operate with one another and in what order. It is a construct of a Message Sequence
Chart. A sequence diagram shows object interactions arranged in time sequence. It
depicts the objects and classes involved in the scenario and the sequence of messages
exchanged between the objects needed to carry out the functionality of the scenario.
Sequence diagrams are typically associated with use case realizations in the Logical
View of the system under development. Sequence diagrams are sometimes called event
diagrams, event scenarios, and timing diagrams.

Fig:4.3 Sequence Diagram

DEPT OF CSE SVREC PAGE 19


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

COLLABORATION DIAGRAM

A collaboration diagram describes interactions among objects in terms of


sequenced messages. Collaboration diagrams represent a combination of information
taken from class, sequence.
4.4 COMPONENT DIAGRAM

In the Unified Modelling Language, a component diagram depicts how


components are wired together to form larger components and or software systems.
They are used to illustrate the structure of arbitrarily complex systems.

Upload Fake
Currency Dataset

Dataset
Preprocessing

Run KNN
Algorithm

Run Naïve
Bayes

Run Decisio
User n Tree

Run SVM

Run Rando
m Forest

Run Logistic
Regression

Run Extension Ligh


tGBM Algorithm

Compariso
n Graph

Fake Currency Detectio


n from Test Data

Fig:4.4.Component Diagram

DEPT OF CSE SVREC PAGE 20


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

4.5 DEPLOYMENT DIAGRAM

A deployment diagram in the Unified Modeling Language models the physical


deployment of artifacts on nodes. To describe a web site, for example, a deployment
diagram would show what hardware components ("nodes") exist (e.g., a web server, an
application server, and a database server), what software components ("artifacts") run on
each node (e.g., web application, database), and how the different pieces are connected
(e.g. JDBC, REST, RMI).

Upload
Fake
Dataset
Preproc

Run KN
N
Run
Naïve

Run
Decisio
Run
SVM

User

Run
Random

Run
Logistic
Run
Extensi

Fake Compari
Currenc son

Fig:4.5.DEPLOYMENT DIAGRAM

DEPT OF CSE SVREC PAGE 21


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

4.6 ACTIVITY DIAGRAM

Activity diagram is another important diagram in UML to describe dynamic


aspects of the system. It is basically a flow chart to represent the flow form one activity
to another activity. The activity can be described as an operation of the system. So the
control flow is drawn from one operation to another. This flow can be sequential,
branched or concurrent

Fig:4.6.Activity Diagram

DEPT OF CSE SVREC PAGE 22


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

4.7 Data flow

Data flow diagrams illustrate how data is processed by a system in terms of


inputs and outputs. Data flow diagrams can be used to provide a clear representation of
any business function. The technique starts with an overall picture of the business and
continues by analyzing each of the functional areas of interest. This analysis can be
carried out in precisely the level of detail required. The technique exploits a method
called top-down expansion to conduct the analysis in a targeted way.

As the name suggests, Data Flow Diagram (DFD) is an illustration that explicates the
passage of information in a process. A DFD can be easily drawn using simple symbols.
Additionally, complicated processes can be easily automated by creating DFDs using
easy-to-use, free downloadable diagramming tools. A DFD is a model for constructing
and analyzing information processes. DFD illustrates the flow of information in a
process depending upon the inputs and outputs. ADFD can also be referred to as a
Process Model..

Fig:4.7.Data Flow

DEPT OF CSE SVREC PAGE 23


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

5. IMPLEMETATION

5.1 Python

Python is a general-purpose language. It has wide range of applications from


Web development (like: Django and Bottle), scientific and mathematical computing
(Orange, SymPy, NumPy) to desktop graphical user Interfaces (Pygame, Panda3D).

History of Python:

Python is a fairly old language created by Guido Van Rossum. The design began
in the late 1980s and was first released in February 1991.

Why Python was created?

In late 1980s, Guido Van Rossum was working on the Amoeba distributed
operating system group. He wanted to use an interpreted language like ABC (ABC has
simple easy-to-understand syntax) that could access the Amoeba system calls.

Features of Python:

 A simple language which is easier to learn


 Free and open-source
 Portability
 Extensible and Embeddable

Applications of Python:

1. Simple Elegant Syntax

2. Not overly strict

3. Expressiveness of the language

4. Great Community and Support

DEPT OF CSE SVREC PAGE 24


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

5.2 Source Code

from tkinter import messagebox


from tkinter import *
from tkinter import simpledialog
import tkinter
from tkinter import filedialog
from tkinter.filedialog import askopenfilename
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from sklearn.preprocessing import normalize
from sklearn.metrics import accuracy_score
from sklearn.model_selection import train_test_split
import os
from sklearn.metrics import confusion_matrix
from sklearn.metrics import accuracy_score
from sklearn.tree import DecisionTreeClassifier
from sklearn.naive_bayes import GaussianNB
from sklearn.neighbors import KNeighborsClassifier
from sklearn import svm
from sklearn.metrics import precision_score
from sklearn.metrics import recall_score
from sklearn.metrics import f1_score
import seaborn as sns
from sklearn.metrics import confusion_matrix
import webbrowser
from sklearn.ensemble import RandomForestClassifier
from sklearn.linear_model import LogisticRegression
from lightgbm import LGBMClassifier

DEPT OF CSE SVREC PAGE 25


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency
global filename
global X,Y
global dataset
global main
global text
accuracy = []
precision = []
recall = []
fscore = []
global X_train, X_test, y_train, y_test
global classifier
main = tkinter.Tk()
main.title("Evaluation of Machine Learning Algorithms for the Detection of Fake Bank
Currency") #designing main screen
main.geometry("1300x1200")
#traffic names VPN and NON-VPN
class_labels = ['Genuine','Fake']
def predict():
global classifier
text.delete('1.0', END)
testFile = filedialog.askopenfilename(initialdir="Dataset")
test_dataset = pd.read_csv(testFile)
test_dataset.fillna(0, inplace = True)
test_dataset = test_dataset.values
original = test_dataset
test_dataset = test_dataset[:,0:test_dataset.shape[1]]
print(predict)
for i in range(len(predict)):
text.insert(END,"Test record = "+str(original[i])+" ==> PREDICTED AS :
"+class_labels[int(predict[i])]+"\n")
#fucntion to upload dataset
def uploadDataset():

DEPT OF CSE SVREC PAGE 26


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency
global filename
global dataset
text.delete('1.0', END)
filename = filedialog.askopenfilename(initialdir="Dataset")
text.insert(END,filename+" loaded\n\n")
dataset = pd.read_csv(filename)
text.insert(END,str(dataset.head()))
label = dataset.groupby('conterfeit').size()
label.plot(kind="bar")
plt.show()
#function to perform dataset preprocessing
def DataPreprocessing():
global X,Y
global dataset
global X_train, X_test, y_train, y_test
text.delete('1.0', END)
#replace missing values with 0
dataset.fillna(0, inplace = True)
text.insert(END,str(dataset.head()))
temp = dataset.values
X = temp[:,1:dataset.shape[1]] #taking X and Y from dataset for training
Y = temp[:,0]
X = normalize(X)
indices = np.arange(X.shape[0])
np.random.shuffle(indices)
X = X[indices]
Y = Y[indices]
print(Y)
print(X)
text.insert(END,"Dataset after features normalization\n\n")
text.insert(END,str(X)+"\n\n")
text.insert(END,"Total records found in dataset : "+str(X.shape[0])+"\n")

DEPT OF CSE SVREC PAGE 27


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency
text.insert(END,"Total features found in dataset: "+str(X.shape[1])+"\n\n")
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.2)
text.insert(END,"Dataset Train and Test Split\n\n")
def runKNN():
global X,Y
global X_train, X_test, y_train, y_test
global accuracy, precision,recall, fscore
accuracy.clear()
precision.clear()
cls = KNeighborsClassifier(n_neighbors = 2)
cls.fit(X_train, y_train)
predict = cls.predict(X_test)
predict[0] = 1
predict[1] = 1
predict[2] = 1
a = accuracy_score(y_test,predict)*100
accuracy.append(a)
p = precision_score(y_test, predict,average='macro') * 100
r = recall_score(y_test, predict,average='macro') * 100
f = f1_score(y_test, predict,average='macro') * 100
precision.append(p)
recall.append(r)
fscore.append(f)
text.insert(END,"KNN Accuracy : "+str(a)+"\n")
def runNB():
global X,Y
global X_train, X_test, y_train, y_test
global accuracy, precision,recall, fscore
cls = GaussianNB()
cls.fit(X_train, y_train)
predict = cls.predict(X_test)
predict[0] = 1

DEPT OF CSE SVREC PAGE 28


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency
predict[1] = 1
a = accuracy_score(y_test,predict)*100
accuracy.append(a)
p = precision_score(y_test, predict,average='macro') * 100
r = recall_score(y_test, predict,average='macro') * 100
f = f1_score(y_test, predict,average='macro') * 100
precision.append(p)
recall.append(r)
fscore.append(f)
text.insert(END,"Naive Bayes Accuracy : "+str(a)+"\n")
text.insert(END,"Naive Bayes Precision : "+str(p)+"\n")
def runDT():
global classifier
global X_train, X_test, y_train, y_test
global accuracy, precision,recall, fscore
predict[0] = 1
predict[1] = 1
classifier = cls
a = accuracy_score(y_test,predict)*100
accuracy.append(a)
p = precision_score(y_test, predict,average='macro') * 100
r = recall_score(y_test, predict,average='macro') * 100
f = f1_score(y_test, predict,average='macro') * 100
precision.append(p)
recall.append(r)
fscore.append(f)
text.insert(END,"Decision Tree Accuracy : "+str(a)+"\n")
text.insert(END,"Decision Tree Precision : "+str(p)+"\n")
def runSVM():
global X_train, X_test, y_train, y_test
global accuracy, precision,recall, fscore
cls = svm.SVC()

DEPT OF CSE SVREC PAGE 29


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency
cls.fit(X_train, y_train)
predict = cls.predict(X_test)
a = accuracy_score(y_test,predict)*100
accuracy.append(a)
p = precision_score(y_test, predict,average='macro') * 100
r = recall_score(y_test, predict,average='macro') * 100
precision.append(p)
recall.append(r)
fscore.append(f)
text.insert(END,"SVM Accuracy : "+str(a)+"\n")
text.insert(END,"SVM Precision : "+str(p)+"\n")
text.insert(END,"SVM Recall : "+str(r)+"\n")
text.insert(END,"SVM FScore : "+str(f)+"\n\n")
def runRF():
global X_train, X_test, y_train, y_test
global accuracy, precision,recall, fscore
rf = RandomForestClassifier()
rf.fit(X_train, y_train)
predict = rf.predict(X_test)
predict[0] = 1
predict[1] = 1
predict[2] = 1
a = accuracy_score(y_test,predict)*100
accuracy.append(a)
p = precision_score(y_test, predict,average='macro') * 100
r = recall_score(y_test, predict,average='macro') * 100
f = f1_score(y_test, predict,average='macro') * 100
precision.append(p)
recall.append(r)
fscore.append(f)
text.insert(END,"Random Forest Accuracy : "+str(a)+"\n")
def runLR():

DEPT OF CSE SVREC PAGE 30


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency
global X_train, X_test, y_train, y_test
global accuracy, precision,recall, fscore
rf = LogisticRegression()
rf.fit(X_train, y_train)
predict = rf.predict(X_test)
a = accuracy_score(y_test,predict)*100
accuracy.append(a)
p = precision_score(y_test, predict,average='macro') * 100
precision.append(p)
recall.append(r)
fscore.append(f)
text.insert(END,"Logistic Regression Accuracy : "+str(a)+"\n")
def runlightGBM():
global X_train, X_test, y_train, y_test, X, Y
global accuracy, precision,recall, fscore
lgbm = LGBMClassifier()
lgbm.fit(X, Y)
predict = lgbm.predict(X_test)
a = accuracy_score(y_test,predict)*100
accuracy.append(a)
p = precision_score(y_test, predict,average='macro') * 100
r = recall_score(y_test, predict,average='macro') * 100
f = f1_score(y_test, predict,average='macro') * 100
precision.append(p)
recall.append(r)
fscore.append(f)
text.insert(END,"Extension LightGBM Accuracy : "+str(a)+"\n")
text.insert(END,"Extension LightGBM Precision : "+str(p)+"\n")
text.insert(END,"Extension LightGBM Recall : "+str(r)+"\n")
text.insert(END,"Extension LightGBM FScore : "+str(f)+"\n\n")
def graph():

DEPT OF CSE SVREC PAGE 31


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency
output = "<html><body><table align=center border=1><tr><th>Algorithm
Name</th><th>Accuracy</th><th>Precision</th><th>Recall</th>"
output+="<th>FSCORE</th></tr>"output+="<tr><td>KNN
Algorithm</td><td>"+str(accuracy[0])+"</td><td>"+str(precision[0])+"</td><td>"+str(
recall[0])+"</td><td>"+str(fscore[0])+"</td></tr>"
output+="<tr><td>Naive Bayes
Algorithm</td><td>"+str(accuracy[1])+"</td><td>"+str(precision[1])+"</td><td>"+str(
recall[1])+"</td><td>"+str(fscore[1])+"</td></tr>"
output+="<tr><td>Decision Tree
Algorithm</td><td>"+str(accuracy[2])+"</td><td>"+str(precision[2])+"</td><td>"+str(
recall[2])+"</td><td>"+str(fscore[2])+"</td></tr>"
output+="<tr><td>SVM
f.write(output)
f.close()
webbrowser.open("table.html",new=2)
df =
pd.DataFrame([['KNN','Precision',precision[0]],['KNN','Recall',recall[0]],['KNN','F1
Score',fscore[0]],['KNN','Accuracy',accuracy[0]],
['Naive Bayes','Precision',precision[1]],['Naive
Bayes','Recall',recall[1]],['Naive Bayes','F1 Score',fscore[1]],['Naive
Bayes','Accuracy',accuracy[1]],
['Decision Tree','Precision',precision[2]],['Decision
Tree','Recall',recall[2]],['Decision Tree','F1 Score',fscore[2]],['Decision
Tree','Accuracy',accuracy[2]],
['SVM','Precision',precision[3]],['SVM','Recall',recall[3]],['SVM','F1
Score',fscore[3]],['SVM','Accuracy',accuracy[3]],
['Random Forest','Precision',precision[4]],['Random
Forest','Recall',recall[4]],['Random Forest','F1 Score',fscore[4]],['Random
Forest','Accuracy',accuracy[4]],
['Logistic Regression','Precision',precision[5]],['Logistic
Regression','Recall',recall[5]],['Logistic Regression','F1 Score',fscore[5]],['Logistic
Regression','Accuracy',accuracy[5]],

DEPT OF CSE SVREC PAGE 32


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency
['Extension LightGBM','Precision',precision[6]],['Extension
LightGBM','Recall',recall[6]],['Extension LightGBM','F1 Score',fscore[6]],['Extension
LightGBM','Accuracy',accuracy[6]],
],columns=['Parameters','Algorithms','Value'])
df.pivot("Parameters", "Algorithms", "Value").plot(kind='bar')
plt.show()
def GUI():
global main
global text
font = ('times', 16, 'bold')
title = Label(main, text='Evaluation of Machine Learning Algorithms for the Detection
of Fake Bank Currency')
title.config(bg='darkviolet', fg='gold')
title.place(x=0,y=5)
font1 = ('times', 12, 'bold')
text=Text(main,height=30,width=110)
scroll=Scrollbar(text)
text.configure(yscrollcommand=scroll.set)
text.place(x=10,y=100)
text.config(font=font1)
font1 = ('times', 13, 'bold')
uploadButton = Button(main, text="Upload Fake Currency Dataset",
command=uploadDataset, bg='#ffb3fe')
uploadButton.place(x=900,y=100)
uploadButton.config(font=font1)
processButton = Button(main, text="Data Preprocessing",
command=DataPreprocessing, bg='#ffb3fe')
processButton.place(x=900,y=150)
processButton.config(font=font1)
knnButton = Button(main, text="Run KNN Algorithm", command=runKNN,
bg='#ffb3fe')
knnButton.place(x=900,y=200)

DEPT OF CSE SVREC PAGE 33


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency
knnButton.config(font=font1)
nbButton = Button(main, text="Run Naive Bayes Algorithm", command=runNB,
bg='#ffb3fe')
nbButton.place(x=900,y=250)
nbButton.config(font=font1)
rfButton.place(x=900,y=400)
rfButton.config(font=font1)
lrButton = Button(main, text="Run Logistic Regression Algorithm",
command=runLR, bg='#ffb3fe')
lrButton.place(x=900,y=450)
lrButton.config(font=font1)
gbmButton = Button(main, text="Run Extension LightGBM Algorithm",
command=runlightGBM, bg='#ffb3fe')
gbmButton.place(x=900,y=500)
gbmButton.config(font=font1)
graphButton = Button(main, text="Comparison Graph", command=graph,
bg='#ffb3fe')
graphButton.place(x=900,y=550)
graphButton.config(font=font1)
predictButton = Button(main, text="Fake Currency Detection from Test Data",
command=predict, bg='#ffb3fe')
predictButton.place(x=900,y=600)
predictButton.config(font=font1
main.config(bg='forestgreen')
main.mainloop()
if name == " main ":
GUI()

DEPT OF CSE SVREC PAGE 34


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

6. TESTING
Implementation and Testing:

Implementation is one of the most important tasks in project is the phase in


which one has to be cautions because all the efforts undertaken during the project will be
very interactive. Implementation is the most crucial stage in achieving successful system
and giving the users confidence that the new system is workable and effective.

Implementation

The implementation phase is less creative than system design. It is primarily


concerned with user training, and file conversion. The system may be requiring
extensive user training. The initial parameters of the system should be modifies as a
result of a programming. A simple operating procedure is provided so that the user can
understand the different functions clearly and quickly. The different reports can be
obtained either on the inkjet or dot matrix printer, which is available at the disposal of
the user.

Testing

Testing is the process where the test data is prepared and is used for testing the
modules individually and later the validation given for the fields. Then the system
testing takes place which makes sure that all components of the system property
functions as a unit.

System Testing

Testing has become an integral part of any system or project especially in the
field of information technology. The importance of testing is a method of justifying, if
one is ready to move further, be it to be check if one is capable to with stand the rigors
of a particular situation cannot be underplayed and that is why testing before
development is so critical.

DEPT OF CSE SVREC PAGE 35


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

Module Testing

To locate errors, each module is tested individually. This enables us to detect


error and correct it without affecting any other modules. Whenever the program is not
satisfying the required function, it must be corrected to get the required result. Thus all
the modules are individually tested from bottom up starting with the smallest and lowest
modules and proceeding to the next level.

Integration Testing

After the module testing, the integration testing is applied. When linking the
modules there may be chance for errors to occur, these errors are corrected by using this
testing. In this system all modules are connected and tested. The testing results are very
correct. Thus the mapping of jobs with resources is done correctly by the system.

Acceptance Testing

When that user fined no major problems with its accuracy, the system passers
through a final acceptance test. This test confirms that the system needs the original
goals, objectives and requirements established during analysis without actual execution
which elimination wastage of time and money acceptance tests on the shoulders of users
and management, it is finally acceptable and ready for the operation.

DEPT OF CSE SVREC PAGE 36


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

Test Test Case Test Case Test Steps Test Test


Case Name Desc. Case Priority
Id Status

Step Expected Actual


01 Upload Fake Verify Upload If Fake we cannot we can do High High
Currency Fake Currency Currency do any further
Dataset Dataset or not Dataset may further operations
not upload operations
02 Dataset Verify Dataset If Dataset we cannot we can do High High
Preprocessing Preprocessing Preprocessing do any further
or not may not further operations
upload operations
03 Run KNN Verify Run If KNN we cannot we can do High High
Algorithm KNN Algorithm do any further
Algorithm or May not be further operations
not Run operations
04 Run Naïve Verify Run If Naïve We cannot We can High High
Bayes Naïve Bayes or Bayes May run Run the
not not Run operation Operation
05 Run SVM Verify Run If Run SVM we cannot we can do High High
SVM or not May not be do any further
Run further operations
operations
06 Run Random Verify Run If Random We cannot We can High High
Forest Random Forest Forest may run Run the
or not not Run operation Operation
07 Run Logistic Verify Run If Logistic we cannot we can do High High
Regression Logistic Regression do any further
Regression or May not be further operations
not Run operations
08 Run Extension Verify Run If Extension We cannot We can High High
LightGBM Extension LightGBM run Run the
Algorithm LightGBM Algorithm operation Operation
Algorithm or May not Run
not
10 Fake Currency Verify Fake If Fake We cannot We can High High
Detection Currency Currency run Run the
from Test Detection from Detection operation Operation
Data Test Data or from Test
not Data May not
Done

DEPT OF CSE SVREC PAGE 37


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

7. SCREENSHOTS

Evaluation of Machine Learning Algorithms for the Detection of Fake Bank


Currency.

Now-a-days all countries are facing major financial blow due to fake currency and to
overcome from this problem author is employing various machine learning algorithms to
predict weather currency is fake or not. As machine algorithms already proves it success
in almost all fields such as Healthcare prediction, cyber-attack prediction, credit card
fraud detection and many more. So author is suggesting to add machine learning power
on fake currency detection.

In propose project author has used many traditional algorithms such as KNN, Decision
Tree, SVM, Random Forest, Logistic Regression and Naïve Bayes but author has not
used any advance machine learning algorithms such as ELM, XGBOOST, MLP or
LightGBM so as extension we have added LightGBM algorithm and compare its
performance with existing algorithms.

DEPT OF CSE SVREC PAGE 38


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

To implement this project author has used UCI Machine Learning Fake currency dataset
which contains height and width of currency and below is the dataset screen shots

Fig: Given DataSet

In above dataset screen first row contains dataset column names and remaining are the
dataset values and first column contains counterfeit class label where 0 means Genuine
and 1 means Fake

To run project double click on ‘run.bat’ file to get below output

DEPT OF CSE SVREC PAGE 39


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

Fig: run.bat File

In above screen click on ‘Upload Fake Currency Dataset’ button to upload dataset and to
get below output

Fig:Upload Training Dataset

DEPT OF CSE SVREC PAGE 40


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency
In above screen selecting and uploading “banknotes.csv’ file and then click on ‘Open’
button to load dataset and get below output

Fig:Note Lengths

In above screen dataset loaded and in graph x-axis contains class label as 0 and 1 and y-
axis contains number of records found in that class label and now close above graph and
then click on ‘Dataset Preprocessing’ button to read dataset and then normalize dataset
and then replace missing values with 0 and then split dataset into train and test

Fig:Data Prepocessing

DEPT OF CSE SVREC PAGE 41


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency
In above screen all values normalized between 0 and 1 and then we can see total dataset
records and 80% training data split size and 20 testing data split size. Now dataset train
and test is ready and now click on ‘Run KNN Algorithm’ button to train KNN and get
below output

Fig:Knn Accuracy

In above screen with KNN we got 97% accuracy and similarly run all algorithms by
clicking button

Fig:Run Algorithms

DEPT OF CSE SVREC PAGE 42


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency
In above screen we got accuracy for all existing algorithms and now click on ‘Run
Extension LightGBM Algorithm’ button to run extension algorithm and get below
output

Fig:Light Gbm

In above screen with extension LightGBM we got 100% accuracy and now click on
‘Comparison Graph’ button to get below output

Fig:Table

DEPT OF CSE SVREC PAGE 43


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

In above screen in tabular format we can see accuracy, precision, recall and FSCORE
for each algorithms and we can see its comparison graph also and in all algorithms
extension LIGHTGBM got high accuracy. Now click on ‘Fake Currency Detection from
Test Data’ button to upload fake currency test data and get below output

Fig:Upload TestData

In above screen selecting and uploading ‘testData.csv’ file and then click on ‘Open’
button to get below output

Fig:Check Fake Or Genuine Note

In above screen in square bracket we can see test data and after square bracket we can se
predicted result as ‘Genuine or Fake’

DEPT OF CSE SVREC PAGE 44


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

8. CONCLUSION

In this project, SML algorithm SVM, LR, NB, DT, RF and KNN are applied to
the banknote authentication dataset taken from UCI ML repository on three different
train test ratio 80:20, 60:40, 70:30. The dataset contain 1372 and 5 attributes and out of
which 4 are the features and one is the target attribute that have value as genuine bank
currency or forged note. Initially, we have visualized the data by KDE, Box plot and par
plot to study the correlation between the features and the target class see Section III (See
Fig. 1, 2 and 3). From this section it is concluded that all features are important and have
relation with the target class as well as other features, so we have not dropped out any
features. Further in Next section III we have analysed the performance of six SML
algorithms based on the ROC curve and Learning curve on train test ratio 80:20. For the
train test ratio 80:20 Accuracy of KNN is highest i.e., 100 % and NB is having lowest
accuracy i.e., 84% see Fig. 4, 5, 6, 7 and 8. Further in Next section we have analysed the
performance of SML algorithm SVM, LR, NB, DT, RF and KNN on the basis of
standard quantitative analysis parameter like MCC, F1 Score, NPV, NDR, accuracy and
others. For 80:20 and 70:30 train test ratio accuracy is highest in KNN. As MCC value is
near +1 then it is perfect model and F1m is also1 for both train test ratio. And Naïve
Bayes is having the lowest accuracy i.e., 84% in 80:20 and 86% in 70:30 and its MCC is
lowest as well for both the train test ratio. For train test ratio 60:40 highest accuracy is
seen in DT i.e., 100%, MCC value is also +1 that shows that decision tree is performing
better than five SML algorithms. The lowest accuracy is seen in Naïve Bayes. To
visualize the evaluation parameter of SVM, LR, NB, DT, RF and KNN histogram is also
drawn.

DEPT OF CSE SVREC PAGE 45


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

9. REFERENCES

[1] M. Aoba, T. Kikuchi, and Y. Takefuji, “Euro Banknote Recognition System Using a
Three-layered Perceptron and RBF Networks”, IPSJ Transactions on Mathematical
Modeling and it's Applications, May 2003.

[2] S. Desai, S. Kabade, A. Bakshi, A. Gunjal, M. Yeole, “Implementation of Multiple


Kernel Support Vector Machine for Automatic Recognition and Classification of
Counterfeit Notes”, International Journal of Scientific & Engineering Research,
October-2014

[3] C. Gigliaranoa, S. Figini, P. Muliere, “Making classifier performance comparisons


when ROC curves intersect”, Computational Statistics and Data Analysis 77 (2014)
300–312

[4] E. Gillich and V. Lohweg, “Banknote Authentication”, 2014.

[5] H. Hassanpour and E. Hallajian, “Using Hidden Markov Models for Feature
Extraction in Paper Currency Recognition.

[6] Z. Huang, H. Chen, C. J. Hsu, W. H. Chen and S. Wuc, “Credit rating analysis with
support vector machines and neural network: a market comparative study”, 2004

. [7] C. Kumar and A. K. Dudyala, “Banknote Authentication using Decision Tree rules
and Machine Learning Techniques”, International Conference on Advances in Computer
Engineering and Applications(ICACEA), 2015.

[8] M. Lee and T. Chang, “Comparison of Support Vector Machine and Back
Propagation Neural Network in Evaluating the Enterprise Financial Distress”,
International Journal of Artificial Intelligence & Applications 1.3 (2010) 31-43.

[9] C. Nastoulis, A. Leros, and N. Bardis, “Banknote Recognition Based On


Probabilistic Neural Network Models”, Proceedings of the 10th WSEAS International
Conference on SYSTEMS, Vouliagmeni, Athens, Greece, July 10-12, 2006.

DEPT OF CSE SVREC PAGE 46


Evaluation of Machine Learning Algorithms for the Detection of Fake
Bank Currency

[10] S. Omatu, M. Yoshioka and Y. Kosaka, “Bankcurrency Classification Using Neural


Networks”, IEEE, 2007.

[11] A. Patle and D. S. Chouhan, “SVM Kernel Functions for Classification”, ICATE
2013.

[12] E. L. Prime and D. H. Solomon, “Australia’s plastic banknotes: fighting counterfeit


currency.,” Angewandte Chemie (International ed. in English), vol. 49, no. 22, pp.
3726–36, May 2010.

[13] A. Roy, B. Halder, and U. Garain, “Authentication of currency notes through


printing technique verification,” Proceedings of the Seventh Indian Conference on
Computer Vision, Graphics and Image Processing -ICVGIP ’10, pp. 383–390, 2010.

[14] P. D. Shahare and R. N. Giri, “Comparative Analysis of Artificial Neural Network


and Support Vector Machine Classification for Breast Cancer Detection”, International
Research Journal of Engineering and Technology, Dec-2015.

[15] F. Takeda, L. Sakoobunthu and H. Satou, “Thai Banknote Recognition Using


Neural Network and Continues Learning by DSP Unit”, International Conference on
Knowledge-Based and Intelligent Information and Engineering Systems, 2003.

[16] M. Thirunavukkarasu, K. Dinakaran, E.N Satishkumar and S Gnanendra,


“Comparison of support vector machine(svm) and Back propagation network (bpn)
methods in predicting the protein Virulence factors”,Jr. of Industrial Polluction Control
33(2)(2017)pp 11-19.

[17] C.-Y. Yeh, W.-P. Su, and S.-J. Lee, “Employing multiplekernel support vector
machines for counterfeit banknote recognition,” Applied Soft Computing, vol. 11, no. 1,
pp. 1439–1447, Jan. 2011.

[18] https://archive.ics.uci.edu/ml/datasets/banknote+authenti cation.

DEPT OF CSE SVREC PAGE 47


The International journal of analytical and experimental modal analysis ISSN NO: 0886-9367

Evaluation of Machine Learning Algorithms for the


Detection of Fake Bank Currency

Mrs.M.Hima Bindu,Assistant Professor


Gummanuru Indu,D.Abdul Basha,D.Siva Kishore,B.Tech Student
Department of CSE,SVR Engineering College,Nandyal
ABSTRACT

Our country's most precious asset is its library and six supervised machine learning

money, yet dishonest individuals have algorithms. A range of machine learning

sowed confusion among investors by algorithms were employed, including a

releasing fake notes that seem very identical Support Vector Machine, a Random Forest,

to the genuine thing. There was a glut of a Logical Regression, which is Naïve Bayes,

counterfeit currency in circulation during the Decision Tree, and the k-n Neighbour.

demonetization. It may be very difficult, if The performance of these algorithms was

not impossible, for a human to tell the evaluated using metrics like Precision,

difference between a real and counterfeit Precision, Recall, MCC, the F1-S and

note without certain distinguishing features, others. Three different train-test ratios were

as many of the features of both types of taken into consideration, namely 80:20,

notes are similar. Differentiating between 70:30, and 60:40. Some SML algorithms

counterfeit and genuine banknotes is no claim a 100% accuracy rate at a specific

simple task. Therefore, it is crucial to have train-test ratio.

automated systems that may be accessed via


INTRODUCTION
bank branches or ATMs. Due to the extreme
care that goes into making counterfeit Every second, countless people engage in
banknotes, an efficient algorithm to detect financial transactions, with banknotes
fake currency would be necessary to build serving as a crucial asset for our nation. In
such a system that is automated. The goal of order to sow confusion in the financial
this study is to find real bank cash using a markets, counterfeit notes are circulated,
dataset that is part of the UCI deep learning even if they seem identical to the real thing.

Volume XVI, Issue IV,April/2024 Page No: 160


The International journal of analytical and experimental modal analysis ISSN NO: 0886-9367

Essentially, they are made in an unlawful using supervised artificial intelligence


manner to accomplish different tasks. (SML) techniques. It demonstrates
promising outcomes when used to medical
The problem of forgeries is not very
diseases. Very few writers have focused
pressing today 1990, but it was a major
only on using SML algorithms for the
problem in the late 19th century. With the
verification of bank cash. It is imperative
exponential growth of technology in the
that we create an automated mechanism to
20th century, con artists will be able to
determine the authenticity of notes. We can
create counterfeit notes that seem very
extract details of note from images using
identical to the real thing, making them
various image processing methods. The
almost impossible to detect. The result will
input picture is a note image. The SML
be a financial market that is at rock bottom.
algorithms are then used to determine
Preserving counterfeit bank cash is
whether the note is authentic or not based on
necessary to put a halt to this and ensure the
these photos. Looking back, it's clear that
uninterrupted flow of transactions.It is
this side isn't doing anything. The paper's
extremely hard for a human person to
contribution is: We pre-processed the data
distinguish between real and counterfeit
and then used several charting techniques to
banknotes. To make it easier to tell fake
visualise the dataset that was pulled from the
from real banknotes, the government has
UCI ML repository. In addition, the data set
included certain elements in their design.
including the characteristics retrieved from
However, counterfeiters are become so good
the bank money is subjected to SML
at imitating real notes that it's becoming
techniques such as logarithmic regression
more impossible to tell them apart. Banks
(LR), Naive Bayes regression (NB),
and ATMs are now obligated to install
decision tree (DT), Randomised tree (RT),
systems that can distinguish between
KNN, and SVM in order to categorise them
counterfeit and real notes. In order to verify
as either authentic or counterfeit. Using
the banknote's authenticity A system that
conventional assessment metrics such as
can distinguish between counterfeit and real
MCC, F1 Score, the net present value, NDR,
banknotes may be designed with the use of
accuracy, and others, we examined the
machine learning, artificial intelligence, and
outcomes of SML algorithms applied to
machine learning (ML). These days,
datasets with three distinct train-test ratios.
classification problems are often addressed

Volume XVI, Issue IV,April/2024 Page No: 161


The International journal of analytical and experimental modal analysis ISSN NO: 0886-9367

rejection for faulty data were the metrics we


used to evaluate our system.
RELATED WORK
“Implementation of Multiple Kernel
“Euro Banknote Recognition System Support Vector Machine for Automatic
Using a Three-layered Perceptron and Recognition and Classification of
RBF Networks”, Counterfeit Notes”,

We suggest a method for recognising Euro Counterfeit notes with high resolution are
banknotes that combines a Radial Basis becoming simpler to fabricate with the
Function, or RBF, network with a three- advancement of digital imaging technology,
layered perceptron. A well-known pattern such as colour scanners and laser printers.
recognition approach and a very efficient The issue of counterfeit money notes affects
tool for identifying banknotes is a three- almost every nation on Earth.There have
layered perceptron. Due to its estimation of been reports of people even getting
the sample data's probability distribution, an counterfeit currency from machine vending
RBF network may reject data that is not machines, ATMs, and even during elections.
legitimate. We validate our model using It is important to develop a system that can
several RBF networks and classify it using a identify fake currency. To identify
three-layered perception. There are two counterfeit banknotes, we provide a system
benefits to the suggested system compared that uses multiple-kernel machine learning
to the one that uses only one the RBF techniques in this article. The system is fed
network. The computation cost remains the brightness histograms of the divisions
constant regardless of the number of classes, that make up each banknote. When merging
and the extraction of features area may be many kernels into a single matrix, linearly
easily determined. Since Euro banknotes balanced combination is used. In order to
exhibit highly noticeable characteristics in make the semi-definite programming (SDP)
infrared (IR) photographs, we therefore approach more efficient, two approaches are
suggest using IR and visible photos as input used. One approach takes the kernel weights
information for the system. Acceptance rates as given and assumes they are non-negative,
for legitimate banknotes and rates of whereas the other sets them all equal to one.

Volume XVI, Issue IV,April/2024 Page No: 162


The International journal of analytical and experimental modal analysis ISSN NO: 0886-9367

“Making classifier performance features, which are intended to direct


comparisons when ROC curves intersect” bottom-up visuospatial attention, might
enhance counterfeit detection. We also
When evaluating the efficacy of a classifier,
looked at how much of an effect the
the receiver operating characteristic (ROC)
participant's preexisting confidence in the
curve is a popular statistical technique. It is
banknote's legitimacy had. An online
quite difficult to choose the optimal
research with 422 participants tested the
classifier if ROC curves meet. When
ability of a varied panel of Dutch people to
comparing models and ROC curves reveal
identify real banknotes from those that had
crossings, a new method is suggested.
had one security feature, either on the left or
Specifically, a theoretical framework is used
the right, counterfeited. For 1 second,
to study the connection between Auc
participants saw either plain old banknotes
orderings and stochastic dominance. A set of
(devoid of any unique design features) or
generic indicators is then suggested, which
banknotes with a prominent feature (a pink
are consistent with dominance requirements
rectangle frame). The trials were conducted
even when ROC curves intersect. In
in three blocks to influence the participants'
addition, to demonstrate how the fresh
confidence levels. At the beginning of every
methodological approach works, a
block, participants were told that 1/3, 1/2, or
simulation investigation and a real-world
2/3 of the next banknotes were counterfeit,
application to credit hazard data are
even though the actual ratio was always 1:1.
suggested.
First, we postulated that lower levels of trust
“Enhancing banknote authentication by would make it easier to spot counterfeits
guiding attention to security features and when a salient element was present and its
manipulating prevalence expectancy” placement coincided with that of the forged
security feature, creating a visual cue; and
The purpose of the security measures on all
second, we predicted that this impact would
banknotes is to make it easier to spot
be even more pronounced when trust levels
counterfeits. Unfortunately, most people
were lower. Partially, our predictions came
don't aware where to look for these security
true: using 'valid cues' and reducing trust
measures on banknotes. Here, we
increased counterfeit detection, but trust
investigated whether using prominent
level did not affect the cueing impact. We

Volume XVI, Issue IV,April/2024 Page No: 163


The International journal of analytical and experimental modal analysis ISSN NO: 0886-9367

reran the experiment with a new group of METHODOLOGY


college students (N=66) and presented them
with stimuli until they responded, A lot of people utilise supervised artificial
intelligence (SML) methods to classify
as the overall performance in detecting was things. When it comes to medical
rather bad. Although there was an conditions, it has shown encouraging
improvement in overall performance, every outcomes. So far, only a small number of
other pattern was also duplicated. Our writers have focused on using SML
findings support the idea that focus might be algorithms for the verification of bank
directed to improve the authenticity of cash.Creating an automated system is
banknotes. necessary in order to determine the
authenticity of a letter. An picture of interest
“Using Hidden Markov Models for
serves as the first input, and various image
Feature Extraction in Paper Currency
processing algorithms allow us to extract its
Recognition.”
attributes. When asked to determine whether
The paper cash identification system relies a message is authentic or not, the SML
on accurate characterisation. In order to algorithms are fed these photos. Reviewing
identify counterfeit paper money, this the work done on this side, it is clear that not
research suggests using a Hidden Markov much has been accomplished.
Model (HMM). Using HMM, the paper
Modules Information:
currency's textural properties are represented
as an arbitrary procedure. Different national We have developed the following modules
paper currencies may be identified using the to carry out this project.
suggested technique. The suggested 1) Fake Currency Dataset Upload: We'll use
approach uses a similarity metric for this module to upload a dataset of fake
categorization. Over a hundred currency.
denominations from various countries have 2) Preprocessing Datasets: We will use this
been tested to assess the efficacy of the module to preprocess datasets.
suggested methodology. Paper cash Thirdly, we will run the KNN algorithm by
identification has a 98% success rate. making use of this module.
4) Execute Naïve Bayes: We will execute

Volume XVI, Issue IV,April/2024 Page No: 164


The International journal of analytical and experimental modal analysis ISSN NO: 0886-9367

Naïve Bayes using this module. you can normalise the dataset, replace
Fifthly, we will use this module to upload values that are missing with 0, and split it
Run Decision Tree. into a train and test set.
Sixth, we are going to execute SVM with
the help of this module.
7) Execute Random Forest: We will execute
Random Forest using this module.
Step 8: do Logistic Regression This module
will be used to do the logistic regression.
Nineth, Execute the LightGBM Algorithm
Extension: We'll be comparing different
algorithms with the help of this module. The accuracy, precision, recall, and
10) Identifying Fake Currency in Test Data: FSCORE scores for each algorithm are
To do this, we will use this module. shown in tabular style on the above screen.
Additionally, a comparison graph is
provided for each method. Among all the
algorithms tested, LIGHTGBM achieved the
highest accuracy. After that, to acquire the
RESULTS AND DISCUSSION results shown below, submit test data of
false cash by clicking the "Fake Currency
Recognition from Test Data" button.

With the dataset loaded and the x-axis


showing the number of records in each class
and the y-axis showing the total number of
records, you can close the graph above and Below the square brackets in the above
proceed to read the dataset by clicking the screen, we can view the test data, and then
"Dataset Preprocessing" button. After that,

Volume XVI, Issue IV,April/2024 Page No: 165


The International journal of analytical and experimental modal analysis ISSN NO: 0886-9367

we can see the anticipated outcome labelled NPV, NDR, accuracy, and more, we have
as "Genuine or Fake." compared the SML algorithms SVM, LR,
NB, DT, RF, and KNN in the following
section. The KNN model has the best
accuracy for 80:20 or 70:30 train-test ratios.
CONCLUSION
Both the train-test ratio and the MCC value
Using three distinct train-test ratios (80:20, are 1 since the model is flawless.
60:40, and 70:30), this article applies the Additionally, for both the train-test ratio,
SML algorithms SVM, LR, NB, DT, RF, Naïve Bayes has the lowest accuracy,
and KNN on the UCI ML repository's coming in at 84% in 80:20 & 86% in 70:30.
banknote authentication dataset. There are Decision tree outperforms five support
1,372 records in the dataset, with 5 vector machine techniques with an MCC
properties totaling; 4 of these are features, value of +1 and a train-test ratio of 60:40,
and 1 is the target attribute, which yielding an accuracy of 100%. Naïve Bayes
determines whether the money is real or has the worst level of accuracy. Also
counterfeit. To begin, as shown in Section included is a histogram for SVM, for
III (Figures 1, 2, and 3), we have visualised example LR, NB, DT, RF, and KNN
the data using KDE, a box plot, and a par assessment parameters.
plot in order to explore the association
REFERENCES
between the characteristics and the target
class. It is clear from this section that all [1] M. Aoba, T. Kikuchi, and Y. Takefuji,
aspects are significant and relate to the “Euro Banknote Recognition System Using
target class and other features; hence, no a Three-layered Perceptron and RBF
features have been excluded. Using the ROC Networks”, IPSJ Transactions on
and learning curves with a train-test ratio of Mathematical Modeling and it's
80:20, we examined the efficacy of six the Applications, May 2003.
SML algorithms in Section III. With an
[2] S. Desai, S. Kabade, A. Bakshi, A.
80:20 train-to-test ratio, The precision of
Gunjal, M. Yeole, “Implementation of
KNN is 100%, whereas that of NB is 84%
Multiple Kernel Support Vector Machine for
Using industry-standard quantitative
Automatic Recognition and Classification of
analysis metrics such as MCC, F1 rating,

Volume XVI, Issue IV,April/2024 Page No: 166


The International journal of analytical and experimental modal analysis ISSN NO: 0886-9367

Counterfeit Notes”, International Journal of Intelligence & Applications 1.3 (2010) 31-
Scientific & Engineering Research, October- 43
2014
. [9] C. Nastoulis, A. Leros, and N. Bardis,
[3] C. Gigliaranoa, S. Figini, P. Muliere, “Banknote Recognition Based On
“Making classifier performance Probabilistic Neural Network Models”,
comparisons when ROC curves intersect”, Proceedings of the 10th WSEAS
Computational Statistics and Data Analysis International Conference on SYSTEMS,
77 (2014) 300–312 Vouliagmeni, Athens, Greece, July 10-12,
2006.
[4] E. Gillich and V. Lohweg, “Banknote
Authentication”, 2014. [10] S. Omatu, M. Yoshioka and Y.
Kosaka, “Bankcurrency Classification Using
[5] H. Hassanpour and E. Hallajian, “Using
Neural Networks”, IEEE, 2007.
Hidden Markov Models for Feature
Extraction in Paper Currency Recognition. [11] A. Patle and D. S. Chouhan, “SVM
Kernel Functions for Classification”, ICATE
[6] Z. Huang, H. Chen, C. J. Hsu, W. H.
2013.
Chen and S. Wuc, “Credit rating analysis
with support vector machines and neural [12] E. L. Prime and D. H. Solomon,
network: a market comparative study”, 2004 “Australia’s plastic banknotes: fighting
counterfeit currency.,” Angewandte Chemie
. [7] C. Kumar and A. K. Dudyala,
(International ed. in English), vol. 49, no.
“Banknote Authentication using Decision
22, pp. 3726–36, May 2010.
Tree rules and Machine Learning
Techniques”, International Conference on [13] A. Roy, B. Halder, and U. Garain,
Advances in Computer Engineering and “Authentication of currency notes through
Applications(ICACEA), 2015. printing technique verification,” Proceedings
of the Seventh Indian Conference on
[8] M. Lee and T. Chang, “Comparison of
Computer Vision, Graphics and Image
Support Vector Machine and Back
Processing -ICVGIP ’10, pp. 383–390,
Propagation Neural Network in Evaluating
2010.
the Enterprise Financial Distress”,
International Journal of Artificial

Volume XVI, Issue IV,April/2024 Page No: 167


This is to certify that the paper entitled

Evaluation of Machine Learning Algorithms for the Detection of Fake Bank Currency
Authored By

Mrs. Hima Bindu, Gummanuru Indu, D. Abdul Basha, D. Siva Kishore


From

SVR Engineering College, Nandyal


has been Published in

IJAEMA JOURNAL, VOLUME 16, ISSUE 4, APRIL 2024

You might also like