Download as pdf or txt
Download as pdf or txt
You are on page 1of 54

A Mini Project Report On

“ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO


DETECT FRAUD TRANSACTIONS ON CREDIT CARD”

Submitted to

CHADALAWADA RAMANAMMA ENGINEERING COLLEGE


(AUTONOMOUS),TIRUPATI

In partial fulfillment of the requirements for the award of the Degree of

BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE AND ENGINEERING
Submitted by

B.S.LAVAKUMAR RAJU 18P11A0506

D.SUMANTH 18P11A0522

J.MANASA 18P11A0538
K.ANIL KUMAR 18P11A0554

Under the esteemed guidance of


Mr. C SUDHARSHAN REDDY, M Tech, (Ph. D)
Associate professor

CHADALAWADA RAMANAMMA ENGINEERING COLLEGE


(AUTONOMOUS)
(Accredited by NAAC with ‘A’ Grade Approved by AICTE, New Delhi, Affiliated to JNTU Anantapur)
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
Tirupati-517506, Andhra Pradesh, India
(2018-2022)
CHADALAWADA RAMANAMMA ENGINEERING COLLEGE
(AUTONOMOUS)
(Accredited by NAAC with ‘A’ Grade Approved by AICTE, New Delhi, Affiliated to JNTU Anantapur)
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
Tirupati-517506, Andhra Pradesh, India

CERTIFICATE

This is to certify that the mini project report entitled “ROBUST ARTIFICIAL NEURAL
NETWORK TECHNIQUE TO DETECT FRAUD TRANSACTIONS ON CREDIT
CARD” is carried out by B.S.Lavakumar Raju (18P11A0506), D.Sumanth(18P11A0522)
J.MANASA (18P11A0538), K. ANIL KUMAR(18P11A0554) in the Partial fulfillment
of the requirements for the awarding of the degree of Bachelor of Technology in Computer
Science and Engineering during the academic year 2020-2021.

INTERNAL GUIDE HEAD OF THE DEPT

Mr.C.Sudharshan Reddy, M.Tech, (Ph.D.) Dr.Rama Mohan Reddy, M.tech, Ph.D


Assistant Professor Professor

__________________________________________________________________________

Submitted for viva-voice Examination held on _______________

Internal Examiner External Examiner


DECLARATION

I here by declare that the mini project report titled “ROBUST ARTIFICIAL NEURAL NETWORK
TECHNIQUE TO DETECT FRAUD TRANSACTIONS ON CREDIT CARD”, submitted to the
Department of Computer Science and Engineering at, CHADALAWADA RAMANAMMA
ENGINEERING COLLEGE in partial fulfillment to requirements for the award of the degree of
Bachelor of Technology in Computer Science and Engineering.

This report is the result of our own effort and it has not been submitted to any other University or
Institution for the award of any degree or diploma other than specified above.

B.S.LAVAKUMAR RAJU (18P11A0506)


D.SUMANTH (18P11A0522)
J.MANASA (18P11A0506)
K.ANIL KUMAR (18P11A0554)
ACKNOWLEDGEMENT

An endeavour of a long period can be successful only with the advice of many well wishers. we take
this opportunity to express our deep gratitude and appreciation to all those who encouraged us for
sucessfully completion of the project work,

We thankful to our Guide Mr.C. SUDHARSHAN RADDY, M.Tech, (Ph.D) Associate Professor in
Department of Computer Science and Engineering ,Chadalawada Ramanamma Engineering College
,Tirupati for his valuable guidence and suggestions in analysing and testing throughout the
period,till the end of project work.
Our special thanks to Dr.A. RAMA MOHAN REDDY,Ph.D. Professor and HOD,Department of
Computer Science and Engineering, during the process of project work,for his timely suggestions
and help in spite of his busy schedule.
We would like to express our sincere gratitude to principal Dr.P.SANJEEVA RAYUDU,Ph.D. for
his valuable support and encouragement during project work.
We wish to express our sincere thanks to MANAGEMENT of Chadalawada Ramanamaa
Engineering College,Tirupati for their constant help and encouragement to complete the project
work.
Finally we would like to express sincere thanks to Faculty Members of CSE Department,and Lab
Technicians,one and all who have helped us to complete the project work sucessfully.

With Regards,
B. S. LAVAKUMAR RAJU (18P11A0506)
D. SUMANTH (18P11A0522)
J. MANASA (18P11A0538)
K. ANIL KUMAR (18P11A0554)
ABSTRACT

In this modern era with the rising of e-commerce in the world, the usage of credit card is
getting popular among the world nowadays. A credit card allows you to make purchases and
pay for them later. So, security in this system is highly expected to prevent fraud transactions.
Fraud transactions in credit card data transaction are increasing each year. However, there is
always a need of some techniques that should precisely and efficiently detect these frauds.
This project proposed a new method for detecting frauds in credit card data which uses
Artificial Neural Network (ANN) based unsupervised learning technique. This technique is
compared with Auto Encoder (AE), Local Outlier Factor (LOF), Isolation Forest (IF) and K-
Means clustering and proposed method provides better accuracy. Here, I am implementing
the hyperparameters on Neural Network such as number of layers ,activation function ,loss
function ,optimizer ,batch size and number of epochs to train. Each Neural Network will have
its best set of hyperparameters which will lead to maximum accuracy. To analyse the result,
the proposed system can compare with the existence system, when compared with the
analysed result the accuracy is high compared with the Existence system parameters such as
Precision , Recall and F1 Score. In this proposed system, I implement the best practices for
hyperparameters such as Learning Rate and Network Architecture.

Key Words:Unsupervised Learning, Anomaly Detection, Fraud Detection,Auto-Encoder,Credit


Card.
.

i
TABLE OF CONTENTS

1 . INTRODUCTION………………………………………………………1

2 . LITERATURE SURVEY………………………………………………2

3 . ANALYSIS

3.1.Existing System…………………………………………………….4

3.2.Proposed System…………………………………………………...5

3.3Architecture…………………………………………………………6

3.4. Data Flow Diagrams(DFDS)……………………………………...7

4 . DESIGN WITH UML DIAGRAMS

4.1.High Level Design Documentation……………………………….10

4.2.Use Case Diagrams………………………………………………...11

4.3.Class Diagrams…………………………………………………….12

4.4.Sequence Diagrams………………………………………………..13

4.5.Collaboration Diagrams…………………………………………..14

4.6.Activity Diagrams……………………………………………….…15

4.7.State Chart Diagram………………………………………………16

4.8.Modules…………………………………………………………….17

5 . IMPLIMENTATION AND CODING

5.1.Description of Technologies(Algorithms)………………………..18

5.2.System requirements………………………………………………23
5.4.Source Code………………………………………………………..24

6 . TESTING AND RESULT

6.1.Unit Testing…………………………………………………………32

6.2.Integration Testing…………………………………………………32

6.3.Functional Testing……………………………………………….…33

6.4.System Testing……………………………………………………..33

6.5.Result (Screen Shots)…………………………………………….…35

7 . CONCLUSION…………………………………………………………45

8 . BIBLIOGRAPHY………………………………………………………46
ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

1.INTRODUCTION

Falsification of the credit card can be defined as the unapproved use of a customer’s card data
to create purchases or to dismiss funds from the cardholder's record. The misconduct extortion
starts from the credit card when somebody incorrectly acquires the number printed on card or
the essential records for the card to be operated [9,10]. Fraud detection in online shopping
systems is the hottest topic nowadays. Fraud investigators, banking systems, and electronic
payment systems such as PayPal must have an efficient and complex fraud detection system to
prevent fraud activities that change rapidly. The rising of E-commerce business has resulted in
a gentle growth within the usage of credit cards for online transactions and purchases .Credit
card frauds are those which are done with an intention to gain money in a deceptive manner
without the knowledge of the cardholder.

From the moment the payment systems came to existence, there have always been people who
will find new ways to access someone’s finances illegally. This has become a major problem in
the modern era, as all transactions can easily be completed online by only entering your credit
card information. Fraud detection is a set of activities that are taken to prevent money or
property from being obtained through false pretenses. Fraud can be committed in different ways
and in many industries. The majority of detection methods combine a variety of fraud detection
datasets to form a connected overview of both valid and non-valid payment data to make a
decision. This decision must consider IP address, geolocation, device identification, “BIN” data,
global latitude/longitude, historic transaction patterns, and the actual transaction information. In
practice, this means that merchants and issuers deploy analytically based responses that use
internal and external data to apply a set of business rules or analytical algorithms to detect fraud.

This Project finds the identification of the fraudulent credit card transactions is a common type
of imbalanced binary classification . It's probably not news to you that fraud is a huge global
and national problem. Fraud is a major problem for credit card companies, both because of the
large volume of transactions that are completed each day and because many fraudulent
transactions look a lot like normal transactions. With the growth of the e-commerce industry
and community, I will see credit card fraud rise at rates faster than ever.

Dept of CSE, CREC ①


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

2. LITERATURE SURVEY

A literature survey or a literature review in a project report is that section which shows the
various analyses and research made in the field of your interest and the results already
published, taking into account the various parameters of the project and the extent of the project.
It is the most important part of your report as it gives you a direction in the area of your
research. It helps you set a goal for your analysis - thus giving you your problem statement.
When you write a literature review in respect of your project, you have to write the researches
made by various analysts - their methodology (which is basically their abstract) and the
conclusions they have arrived at. You should also give an account of how this research has
influenced your thesis. Descriptive papers may or may not contain reviews, but analytical
papers will contain reviews. A literature review must contain at least 5 - 7 published researches
in your field of interest.

Due to a rapid advancement in the electronic commerce technology, the use of credit cards has
dramatically increased. Since credit card is the most popular mode of payment, the number of
fraud cases associated with it is also rising. In this paper, the survey on the present techniques
available for detecting fraud in credit card is presented as a review paper. Fraud detection
involves identifying fraud as quickly as possible once it has been done. Fraud detection
methods are continuously developed to defend criminals in adapting to their strategies. The
transaction is classified as normal, abnormal or suspicious depending on this initial belief .

The area of predictive maintenance has taken a lot of prominence in the last couple of years due
to various reasons. With new algorithms and methodologies growing across different learning
methods, it has remained a challenge for industries to adopt which method is fit, robust and
provide most accurate detection. Fault detection is one of the critical components of predictive
maintenance; it is very much needed for industries to detect faults early and accurately. In a
production environment, to minimize the cost of maintenance, sometimes it is required to build
a model with minimal or no historical data.

Dept of CSE, CREC ②


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

Author : Babak Akhgar

In parallel to the increasing use of electronic cards, especially in the banking industry, the
volume of transactions using these cards has grown rapidly. Moreover, the financial nature of
these cards has led to the desirability of fraud in this area. The present study with Map Reduce
approach and parallel processing, applied the Kohonen neural network model to detect
abnormalities in bank card transactions. For this purpose, firstly it was proposed to classify all
transactions into the fraudulent and legal which showed better performance compared with
other methods. In the next step, we transformed the Kohonen model into the form of parallel
task which demonstrated appropriate performance in terms of time; as expected to be well
implemented in transactions with Big Data assumption.

Artificial Neural Networks are inspired by biological neural networks. Neural Networks help to
solve the problems without being programmed with the problem-specific rules and conditions.
They are generic models with most of the complex mathematical computations as BlackBox.
The different types of neural networks are like Convolution Neural Network, Recurrent Neural
Network, Feedforward Neural Network, Multilayer perceptron, and many others. In this topic,
we are origin to learn about the Implementation of Neural Networks.

The purpose of this research is to analyse household credit card choice and usage behaviour.
The theoretical model used to analyse the credit card choice behaviour is a conjoint model
which assumes the utility maximization and rational evaluation of the available credit card
alternatives. The study also investigates the effects of credit card attitudes and practices on the
credit card usage behaviour. Study findings indicate that credit card holders and users show
distinct differences in the use and selection of credit cards. Four different types of credit card
customers identified necessitate the development and implementation of multiple target market
strategies by credit card issuing companies.

Dept of CSE, CREC ③


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

3 . ANALYSIS

System analysis is an important activity that takes place when we are building a new
information system or changing existing ones, analysis is used to gain an understanding of an
existing system and what is required of it. At the conclusion of the analysis, there is system
description and set of requirements for a new system. If there is no existing system, the analysis
defines only the requirements. One of the most important factors in system analysis is to
understand the system and its problems. A good understanding of the system enables designers
to identify and correct problem and suggest realistic solutions for them.

3.1. EXISTING SYSTEM:

Much research has been done on studying credit card fraud detection. In past people have used
supervised machine learning algorithms for fraud detections. But, the entire problem of credit
card fraud detection suffers from a problem of Imbalanced data (a very highly imbalanced
data).This problem requires us to heavily process the data before training any machine learning
model like Random Forest etc. In existing system we approaches of Auto Encoder (AE), Local
Outlier Factor (LOF), Isolation Forest (IF) and K-Means clustering. These methods are
common unsupervised ML techniques mostly used for anomaly detection as the dataset is
generally imbalanced in real life.

Limitations of the existing system:

1. Low reliability.

2. Low accuracy.

3. High complexity.

4. Time-management is an issue in the existing approach.


5. Damage of machines due to lack of attention.

Dept of CSE, CREC ④


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

3.2. PROPOSED SYSTEM

Proposed work as represented in the flow chart show the steps to detect the frauds. It
demonstrates that pre-processing is done to clean the data and to extract the features .This
Project uses Artificial Neural Networks for predicting if a transaction is fraudulent or not. It
demonstrates that pre-processing is done to clean the data and to extract the features. Then
train the model and apply testing with various unsupervised learning models and the
performance of our ANN model is measure with all the other methods from the existing system.
Then performance is measured on various metrics. For identifying the outliers, I used five
algorithms (NN, AE, IF, LOF, KMeans) one by one and evaluated the performance. These
methods are used during anomaly detection problem

Advantages of the Proposed system:

• High reliability.
• High accuracy.
• Low complexity.

Dept of CSE, CREC ⑤


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

3.3 . ARCHITECTURE

Dept of CSE, CREC ⑥


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

3.4. DATA FLOW DIAGRAMS(DFDS)

A Data Flow diagram (DFD) is graphical tool used to describe and analyse movement of data
through a system. These are the central tool and the basis from which the other components are
developed. The transformation of data from input to output, through processed, may be
described logically and independently of physical components associated with the system.
These are known as the logical data flow diagrams. The physical data flow diagrams show the
actual implements and movement of data between people, departments and workstations. A
full description of a system actually consists of a set of data flow diagrams. Using two familiar
notations Yourdon, Gane and Sarson notation develops the data flow diagrams. Each
component in a DFD is labelled with a descriptive name. Process is further identified with a
number that will be used for identification purpose. The development of DFD’S is done in
several levels. Each process in lower level diagrams can be broken down into a more detailed
DFD in the next level. The lop-level diagram is often called context diagram. It consists of a
single process bit, which plays vital role in studying the current system. The process in the
context level diagram is exploded into other process at the first level DFD.

The idea behind the explosion of a process into more process is that understanding at
one level of detail is exploded into greater detail at the next level. This is done until further
explosion is necessary and an adequate amount of detail is described for analyst to understand
the process.

A DFD is also known as a “bubble Chart” has the purpose of clarifying system
requirements and identifying major transformations that will become programs in system
design. So it is the starting point of the design to the lowest level of detail. A DFD consists of
a series of bubbles joined by data flows in the system.

Constructing A DFD

Several rules of thumb are used in drawing DFD’S:

Process should be named and numbered for an easy reference. Each name should be
representative of the process.

Dept of CSE, CREC ⑦


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

The direction of flow is from top to bottom and from left to right. Data traditionally flow from
source to the destination although they may flow back to the source. One way to indicate this
is to draw long flow line back to a source. An alternative way is to repeat the source symbol as
a destination. Since it is used more than once in the DFD it is marked with a short diagonal.

When a process is exploded into lower level details, they are numbered.

The names of data stores and destinations are written in capital letters. Process and dataflow
names have the first letter of each work capitalized

A DFD typically shows the minimum contents of data store. Each data store

should contain all the data elements that flow in and out

Questionnaires should contain all the data elements that flow in and out. Missing interfaces
redundancies and like is then accounted for often through interviews.

Salient Features Of DFD’S

The DFD shows flow of data, not of control loops and decision are controlled considerations do
not appear on a DFD.

The DFD does not indicate the time factor involved in any process whether the dataflow take
place daily, weekly, monthly or yearly.

The sequence of events is not brought out on the DFD.

Context Level DFD:

Figure 5.4.1: Context Level DFD

Dept of CSE, CREC ⑧


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

First Level DFD:

Figure 5.4.2 :First Level DFD

Second Level DFD:

Figure 5.4.3. :Second Level DFD

Dept of CSE, CREC ⑨


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

4 . SYSTEM DESIGN
4.1 HIGH LEVEL DESIGN DOCUMENTATION

UML stands for Unified Modeling Language. UML is a standardized general-purpose modeling
language in the field of object-oriented software engineering. The standard is managed, and was
created by, the Object Management Group. The goal is for UML to become a common language for
creating models of object oriented computer software. In its current form UML is comprised of two
major components: a Meta-model and a notation. In the future, some form of method or process may
also be added to; or associated with, UML. The Unified Modeling Language is a standard language for
specifying, Visualization, Constructing and documenting the artifacts of software system, as well as
for business modeling and other non-software systems. The UML represents a collection of best
engineering practices that have proven successful in the modeling of large and complex systems. The
UML is a very important part of developing objects oriented software and the software development
process. The UML uses mostly graphical notations to express the design of software projects.

4.2 . USE CASE DIAGRAM:

A use case diagram in the Unified Modeling Language (UML) is a type of behavioural
diagram defined by and created from a Use-case analysis. Its purpose is to present a graphical
overview of the functionality provided by a system in terms of actors, their goals (represented
as use cases), and any dependencies between those use cases. The main purpose of a use case
diagram is to show what system functions are performed for which actor. Roles of the actors in
the system can be depicted.

Figure 5.2.1. Use Case Diagram


Dept of CSE, CREC ⑩
ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

4.3 .CLASS DIAGRAM:

In software engineering, a class diagram in the Unified Modeling Language (UML) is a type of
static structure diagram that describes the structure of a system by showing the system's classes,
their attributes, operations (or methods), and the relationships among the classes. It explains
which class contains information.

Figure 7.1.1. Class Diagram

Dept of CSE, CREC ⑪


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

4.4 . SEQUENCE DIAGRAM:

A sequence diagram in Unified Modelling Language (UML) 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. Sequence diagrams are sometimes called event diagrams, event
scenarios, and timing diagrams.

Figure 7.1.2. Sequence Diagram

Dept of CSE, CREC ⑫


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

4.5 . COLLABORATION DIAGRAM:

In collaboration diagram the method call sequence is indicated by some numbering technique
as shown below. The number indicates how the methods are called one after another. I have
taken the same order management system to describe the collaboration diagram. The method
calls are similar to that of a sequence diagram. But the difference is that the sequence diagram
does not describe the object organization where as the collaboration diagram shows the object
organization.

Figure 4.5 Collaboration Diagram

Dept of CSE, CREC ⑬


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

4.6 .ACTIVITY DIAGRAM:

Activity diagrams are graphical representations of workflows of stepwise activities and


actions with support for choice, iteration and concurrency. In the Unified Modelling Language,
activity diagrams can be used to describe the business and operational step-by-step workflows
of components in a system. An activity diagram shows the overall flow of control.

Figure 4.6. Activity Diagram

Dept of CSE, CREC ⑭


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

4.7 . STATECHART DIAGRAM:

Statehart diagram is used to find out the state of the object and I can define state chart diagram
is define flow of states from one object to another object. A state diagram is used to represent
the condition of the system or part of the system at finite instances of time. It’s a behavioural
diagram and it represents the behaviour using finite state transitions. State diagrams are also
referred to as State Machines and State-chart Diagrams. These terms are often used
interchangeably. So simply, a state diagram is used to model the dynamic behaviour of a class
in response to time and changing external stimuli.

Figure 4.7 State Chart Diagram

Dept of CSE, CREC ⑮


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

4.8 . MODULES
1 . System:
1.1 Store Dataset: The System stores the dataset given by the user.
1.2 Model Training: The system takes the data from the user and fed that data to the
selected model.
1.3 Model Predictions: The system takes the data given by the user and predict the
output based on the given data.
2. User:
2.1 Load Dataset: The user can load the dataset he/she want to work on.
2.2 View Dataset: The User can view the dataset.
2.3 Select model: User can apply the model to the dataset for accuracy.
2.4 Evaluation: User can evaluate the model performance.

Dept of CSE, CREC ⑯


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

5 . IMPLEMENTATION AND CODING

Implementation is the stage where all the planned activities are put into action. Implementation
is the carrying out, execution, or practice of a plan, a method, or any design for doing
something. As such, implementation is the action that must follow any preliminary thinking in
order for something to actually happen.

5.1. DESCRIPTION OF TECHNOLOGY:

ALGORITHMS

K-Means Clustering:

There is an algorithm that tries to minimize the distance of the points in a cluster with their
centroid – the k-means clustering technique.
The main objective of the K-Means algorithm is to minimize the sum of distances between the
points and their respective cluster centroid.

A cluster refers to a collection of data points aggregated together because of certain similarities.

You’ll define a target number k, which refers to the number of centroids you need in the dataset.
A centroid is the imaginary or real location representing the center of the cluster.

Every data point is allocated to each of the clusters through reducing the in-cluster sum of
squares.

In other words, the K-means algorithm identifies k number of centroids, and then allocates
every data point to the nearest cluster, while keeping the centroids as small as possible.
STEPS:
1. Choose the number of clusters k.
2. Select k random points from the data as centroids.
3. Assign all the points to the closest cluster centroid.
4. Re-compute the centroids of newly formed clusters.
5. Repeat steps 3 and 4.

Dept of CSE, CREC ⑰


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

Local Outlier Factor:

Local outlier factor (LOF) is an algorithm that identifies the outliers present in the dataset.

LRD is inverse of the average reachability distance of A from its neighbours. Intuitively
according to LRD formula, more the average reachability distance (i.e., neighbours are far from
the point), less density of points are present around a particular point. This tells how far a point
is from the nearest cluster of points. Low values of LRD implies that the closest cluster is far
from the point.

LRD of each point is used to compare with the average LRD of its K neighbours. LOF is the
ratio of the average LRD of the K neighbours of A to the LRD of A.

Intuitively, if the point is not an outlier (inlier), the ratio of average LRD of neighbors is
approximately equal to the LRD of a point (because the density of a point and its neighbors are
roughly equal). In that case, LOF is nearly equal to 1. On the other hand, if the point is an
outlier, the LRD of a point is less than the average LRD of neighbors. Then LOF value will be
high.

Generally, if LOF> 1, it is considered as an outlier, but that is not always true. Let’s say I know

that I only have one outlier in the data, then I take the maximum LOF value among all the LOF

values, and the point corresponding to the maximum LOF value will be considered as an outlier.

Dept of CSE, CREC ⑱


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

Isolation Factor:

It is a tree-based algorithm, built around the theory of decision trees and random forests. When
presented with a dataset, the algorithm splits the data into two parts based on a random
threshold value. This process continues recursively until each data point is isolated. Once the
algorithm runs through the whole data, it filters the data points which took fewer steps than
others to be isolated. Isolation Forest in sklearn is part of the Ensemble model class, it returns
the anomaly score of each instance to measure abnormality.

In most unsupervised methods, “normal” data points are first profiled and anomalies are
reported if they do not resemble that profile. Isolation forest, on the other hand, takes a different
approach; it isolates anomalous data points explicitly.

It is important to mention that Isolation Forest is an unsupervised machine learning algorithm.


Meaning, there is no actual “training” or “learning” involved in the process and there is no
predetermined labeling of “outlier” or “not-outlier” in the dataset. So there is no accuracy test
in the conventional machine learning sense.

Isolation Forest Algorithm returns the anomaly score of each sample using the Isolation Forest
algorithm.

The Isolation Forest ‘isolates’ observations by randomly selecting a feature and then randomly
selecting a split value between the maximum and minimum values of the selected feature.

Since recursive partitioning can be represented by a tree structure, the number of splitting
required to isolate a sample is equivalent to the path length from the root node to the
terminating node.

Random partitioning produces noticeably shorter paths for anomalies.

Hence, when a forest of random trees collectively produce shorter path lengths for particular
samples, they are highly likely to be anomalies.

Dept of CSE, CREC ⑲


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

Auto Encoders:

Autoencoders are a specific type of feed forward neural networks where the input is the same as
the output. They compress the input into a lower-dimensional code and then reconstruct the
output from this representation. The code is a compact “summary” or “compression” of the
input, also called the latent-space representation.

An autoencoder consists of 3 components: encoder, code and decoder. The encoder compresses
the input and produces the code, the decoder then reconstructs the input only using this code.

Autoencoders are mainly a dimensionality reduction (or compression) algorithm with a couple
of important properties:

Data-specific: Autoencoders are only able to meaningfully compress data similar to what they
have been trained on. Since they learn features specific for the given training data, they are
different than a standard data compression algorithm like gzip. So I can’t expect an autoencoder
trained on handwritten digits to compress landscape photos.

Lossy: The output of the autoencoder will not be exactly the same as the input, it will be a close
but degraded representation. If you want lossless compression they are not the way to go.

Unsupervised: To train an autoencoder I don’t need to do anything fancy, just throw the raw
input data at it. Autoencoders are considered an unsupervised learning technique since they
don’t need explicit labels to train on. But to be more precise they are self-supervised because
they generate their own labels from the training data.

Dept of CSE, CREC ⑳


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

Neural Networks:

A neural network is a series of algorithms that endeavours to recognize underlying relationships


in a set of data through a process that mimics the way the human brain operates. Neural
Networks are used for solving many business problems such as sales forecasting, customer
research, data validation, and risk management. It is neurally implemented mathematical model.
It contains huge number of interconnected processing elements called neurons to do all
operations. Information stored in the neurons are basically the weighted linkage of neurons.

Neural networks are a set of algorithms, modelled loosely after the human brain, that are
designed to recognize patterns. They interpret sensory data through a kind of machine
perception, labelling or clustering raw input. The patterns they recognize are numerical,
contained in vectors, into which all real-world data, be it images, sound, text or time series,
must be translated.

Neural networks help us cluster and classify. You can think of them as a clustering and
classification layer on top of the data you store and manage. They help to group unlabelled data
according to similarities among the example inputs, and they classify data when they have a
labelled dataset to train on. (Neural networks can also extract features that are fed to other
algorithms for clustering and classification; so you can think of deep neural networks as
components of larger machine-learning applications involving algorithms for reinforcement
learning, classification and regression.)

Dept of CSE, CREC 21


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

5.2 . SYSTEM REQUIREMENTS

5.1.1 HARDWARE REQUIREMENTS:

• Processor - I3/Intel Processor


• RAM - 4GB (min)
• Hard Disk - 1 TB

5.2.2 SOFTWARE SYSTEM CONFIGURATION:

• Operating System : Windows 10


• Server side Script : Python 3.6+
• IDE : Jupyter Notebook
• Libraries Use : Pandas, Numpy.

Dept of CSE, CREC 22


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

5.3 . SOURCE CODE

Load Dataset

import numpy as np
import pandas as pd
pd.set_option("display.max_columns", 50)

df=pd.read_csv('creditcard.csv')

df.shape

df=df.sample(frac=0.3)

df.head()

df.isnull().sum()

df.describe()

df.info()

df.Class.value_counts()

df.Class.value_counts()*100/df.shape[0]

import matplotlib.pyplot as plt


%matplotlib inline
import seaborn as sns

plt.figure(figsize=(12,8))
sns.heatmap(df.corr()) # Heatmap of correlation between columns of ‘df’.

Dept of CSE, CREC 23


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

Local Outlier Factor


#Fraud Transactions
fraud=df[df.Class==1]
#Valid Transactions
valid=df[df.Class==0]

anomalies_fraction=len(fraud)/len(df)
anomalies_fraction

#Input data
X=df.drop(['Class'],axis=1)
y=df.Class

from sklearn.neighbors import LocalOutlierFactor

lof=LocalOutlierFactor(n_neighbors=20, contamination=anomalies_fraction)
y_pred=lof.fit_predict(X)

# y_pred=lof.predict(X)
y_pred

np.unique(y_pred, return_counts=True)

y_pred[y_pred==1]=0
y_pred[y_pred==-1]=1

np.unique(y_pred, return_counts=True)

pd.Series(y_pred).value_counts()

from sklearn.metrics import accuracy_score, classification_report

lofac = accuracy_score(y,y_pred)

lofre = recall_score(y,y_pred)

lofpre = precision_score(y,y_pred)

print(classification_report(y,y_pred, digits=6))

from sklearn.metrics import precision_score, recall_score,confusion_matrix,f1_score

precision_score(y,y_pred)

recall_score(y,y_pred)
confusion_matrix(y,y_pred)

pd.crosstab(y,y_pred, rownames=['Actual'], colnames=['Predicted'] )


Dept of CSE, CREC 24
ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

Isolation Forest
from sklearn.ensemble import IsolationForest

Iso_Forest=IsolationForest(contamination=anomalies_fraction, max_samples=len(X))
Iso_Forest.fit(X)

y_pred2=Iso_Forest.predict(X)

set(y_pred2)

np.unique(y_pred2, return_counts=True)

y_pred2[y_pred2==1]=0
y_pred2[y_pred2==-1]=1

np.unique(y_pred2, return_counts=True)

confusion_matrix(y,y_pred2)

print(classification_report(y,y_pred2,digits=6))

pd.crosstab(y,y_pred2, rownames=['Actual'], colnames=['Predicted'])

isofpre = precision_score(y,y_pred2)

isofre = recall_score(y,y_pred2)

isofacc =accuracy_score(y,y_pred2)

Dept of CSE, CREC 25


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

K Means Clustering

from sklearn.cluster import KMeans


from sklearn.model_selection import train_test_split

# x_train,x_test,y_train,y_test = train_test_split(X,y)

# kmeans=KMeans(n_clusters=2,random_state=0,algorithm="elkan",max_iter=10000,n_jobs=-1)
# kmeans.fit(x_train)
# pred=kmeans.predict(x_test)
# X = X.drop(['Time'],axis =1)

kmeans = KMeans(n_clusters=2, init='k-means++',n_jobs = -1)

model = kmeans.fit(X)

pred = kmeans.predict(X)

pred

np.unique(pred, return_counts=True)

pd.Series(pred).value_counts()

recall_score(y,pred)

precision_score(y,pred)

f1_score(y,pred)

accuracy_score(y,pred)

print(classification_report(y,pred))

confusion_matrix(y,pred)

pd.crosstab(y,pred, rownames=['Actual'], colnames=['Predicted'])

kre = recall_score(y,pred)

kpre = precision_score(y,pred)

kacc = accuracy_score(y,pred)

Dept of CSE, CREC 26


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

Auto Encoders
from keras.models import Model, load_model
from keras.layers import Input, Dense
from keras.callbacks import ModelCheckpoint, TensorBoard
from keras import regularizers

df = df.drop(['Time'],axis =1)
X_train, X_test = train_test_split(df, test_size=0.2, random_state=42)
X_train = X_train[X_train.Class == 0]
X_train = X_train.drop(['Class'], axis=1)
y_test = X_test['Class']
X_test = X_test.drop(['Class'], axis=1)
X_train = X_train.values
X_test = X_test.values
X_train.shape

input_dim = X_train.shape[1]
encoding_dim = 14
input_layer = Input(shape=(input_dim, ))
encoder = Dense(encoding_dim, activation="tanh",
activity_regularizer=regularizers.l1(10e-5))(input_layer)
encoder = Dense(int(encoding_dim / 2), activation="relu")(encoder)
decoder = Dense(int(encoding_dim / 2), activation='tanh')(encoder)
decoder = Dense(input_dim, activation='relu')(decoder)
autoencoder = Model(inputs=input_layer, outputs=decoder)

nb_epoch = 20
batch_size = 32
autoencoder.compile(optimizer='adam',
loss='mean_squared_error',
metrics=['accuracy'])
# checkpointer = ModelCheckpoint(filepath="model.h5",
# verbose=0,
# save_best_only=True)
# tensorboard = TensorBoard(log_dir='./logs',
# histogram_freq=0,
# write_graph=True,
# write_images=True)
history = autoencoder.fit(X_train, X_train,
epochs=nb_epoch,
batch_size=batch_size,

validation_data=(X_test, X_test)).history

predictions = autoencoder.predict(X_test)
Dept of CSE, CREC 27
ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

predictions[1]

mse = np.mean(np.power(X_test - predictions, 2), axis=1)


error_df = pd.DataFrame({'reconstruction_error': mse,
'true_class': y_test})
error_df

threshold = 10
y_pred3 = [1 if e > threshold else 0 for e in error_df.reconstruction_error.values]
conf_matrix = confusion_matrix(error_df.true_class, y_pred3)

aeacc = accuracy_score(error_df.true_class, y_pred3)


aeacc

aepre = precision_score(error_df.true_class, y_pred3)


aepre

aere = recall_score(error_df.true_class, y_pred3)


aere

f1_score(error_df.true_class, y_pred3)
conf_matrix

# pd.crosstab(error_df.true_class, y_pred, rownames=['Actual'], colnames=['Predicted'])

print(classification_report(error_df.true_class, y_pred3))

Dept of CSE, CREC 28


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

Neural Network

from keras.models import Sequential


from keras.layers import Dense, Dropout

from sklearn.model_selection import train_test_split


X = X.drop(['Time'],axis =1)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# We are transforming data to numpy array to implementing with keras
X_train = np.array(X_train)
X_test = np.array(X_test)
y_train = np.array(y_train)
y_test = np.array(y_test)

# df = df.drop(['Time'],axis =1)
# X_train, X_test = train_test_split(df, test_size=0.2, random_state=42)
# X_train = X_train[X_train.Class == 0]
# X_train = X_train.drop(['Class'], axis=1)
# y_test = X_test['Class']
# X_test = X_test.drop(['Class'], axis=1)
# X_train = X_train.values
# X_test = X_test.values
# X_train.shape

X_train.shape

model = Sequential([
Dense(units=20, input_dim = X_train.shape[1], activation='relu'),
Dense(units=24,activation='relu'),
Dropout(0.5),
Dense(units=20,activation='relu'),
Dense(units=24,activation='relu'),
Dense(1, activation='sigmoid')
])
model.summary()

model.compile(loss='binary_crossentropy',optimizer='adam',metrics = ['accuracy'])

nb_epoch = 50
model.fit(X_train,y_train,epochs=nb_epoch,batch_size = batch_size)

pred1 = model.predict(X_test)

pred1[1]

# mse = np.mean(np.power(X_test - pred, 2), axis=1)


# error_df = pd.DataFrame({'reconstruction_error': mse,

Dept of CSE, CREC 29


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

# 'true_class': y_test})
# error_df

# threshold = 2.9
# y_pred = [1 if e > threshold else 0 for e in error_df.reconstruction_error.values]
# conf_matrix = confusion_matrix(error_df.true_class, y_pred)

model.evaluate(X_test,y_test)

nnac = accuracy_score(y_test,pred1.round())
nnac

nnpre = precision_score(y_test,pred1.round())
nnpre

nnre = recall_score(y_test,pred1.round())
nnre

print(classification_report(y_test,pred1.round()))

Overall Algorithms performance

graph = pd.DataFrame({'Models':['Local Outlier Factor','Isolation Forest','K-Means Clustering','Auto Encode


r','Neural Networks'],'Accuracy':[lofac*100,isofacc*100,kacc*100,aeacc*100,nnac*100],'Precision':[lofpre*10
0,isofpre*100,kpre*100,
aepre*100,nnpre*100],'Recall':[lofre*100,isofre*100,kre*100,aere*100,nnre*100]})

plt.figure(figsize = (10,6))
sns.barplot(y = graph.Precision,x = graph.Models)
plt.xticks(rotation = 'vertical')
plt.show()

Dept of CSE, CREC 30


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

6 . TESTING AND RESULTS

The purpose of testing is to discover errors. Testing is the process of trying to discover every
conceivable fault or weakness in a work product. It provides a way to check the functionality of
components, sub assemblies, assemblies and/or a finished product It is the process of exercising
software with the intent of ensuring that the Software system meets its requirements and user
expectations and does not fail in an unacceptable manner. There are various types of test. Each
test type addresses a specific testing requirement.

6.1 . Unit testing

Unit testing involves the design of test cases that validate that the internal program logic is
functioning properly, and that program inputs produce valid outputs. All decision branches and
internal code flow should be validated. It is the testing of individual software units of the
application .it is done after the completion of an individual unit before integration. This is a
structural testing, that relies on knowledge of its construction and is invasive. Unit tests perform
basic tests at component level and test a specific business process, application, and/or system
configuration. Unit tests ensure that each unique path of a business process performs accurately
to the documented specifications and contains clearly defined inputs and expected results.

6.2 . Integration testing

Integration tests are designed to test integrated software components to determine if they
actually run as one program. Testing is event driven and is more concerned with the basic
outcome of screens or fields. Integration tests demonstrate that although the components were
individually satisfaction, as shown by successfully unit testing, the combination of components
is correct and consistent. Integration testing is specifically aimed at exposing the problems that
arise from the combination of components.

Dept of CSE, CREC 31


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

6.3 . Functional test

Functional tests provide systematic demonstrations that functions tested are available as
specified by the business and technical requirements, system documentation, and user manuals.

Functional testing is cantered on the following items:


Valid Input : identified classes of valid input must be accepted.

Invalid Input : identified classes of invalid input must be rejected.

Functions : identified functions must be exercised.

Output : identified classes of application outputs must be exercised.


Systems/Procedures : interfacing systems or procedures must be invoked.

Organization and preparation of functional tests is focused on requirements, key functions, or


special test cases. In addition, systematic coverage pertaining to identify Business process flows;
data fields, predefined processes, and successive processes must be considered for testing.
Before functional testing is complete, additional tests are identified and the effective value of
current tests is determined.

6.4 . System Test

System testing ensures that the entire integrated software system meets requirements. It tests a
configuration to ensure known and predictable results. An example of system testing is the
configuration oriented system integration test. System testing is based on process descriptions
and flows, emphasizing pre-driven process links and integration points.

6.4.1 . White Box Testing

White Box Testing is a testing in which in which the software tester has knowledge of the inner
workings, structure and language of the software, or at least its purpose. It is purpose. It is used
to test areas that cannot be reached from a black box level.

Dept of CSE, CREC 32


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

6.4.2 . Black Box Testing

Black Box Testing is testing the software without any knowledge of the inner workings,
structure or language of the module being tested. Black box tests, as most other kinds of tests,
must be written from a definitive source document, such as specification or requirements
document, such as specification or requirements document. It is a testing in which the software
under test is treated, as a black box .you cannot “see” into it. The test provides inputs and
responds to outputs without considering how the software works.

Test strategy and approach

Field testing will be performed manually and functional tests will be written in detail.

Test objectives

● All field entries must work properly.


● Pages must be activated from the identified link.
● The entry screen, messages and responses must not be delayed.

Features to be tested

● Verify that the entries are of the correct format


● No duplicate entries should be allowed
● All links should take the user to the correct page.

Test Cases

A set of input parameters for which the software will be tested. Test cases are selected in such a
way that the bugs can be uncovered in the software. Test director and the Quality center are the
two tools to test the application. Generation of the test cases is the most challenging task for the
test engineers.

• Equivalence class partitioning.


• Boundary value analysis.
• Cause effect graphing.

Dept of CSE, CREC 33


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

RESULTS
SCREENSHOTS

Data Loading:

Dept of CSE, CREC 34


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

Information about Dataset:

Dept of CSE, CREC 35


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

Dept of CSE, CREC 36


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

Local Outlier Factor Model Building:

Classification Report:

Dept of CSE, CREC 37


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

Isolation Forest Model Building:

Classification Report:

Dept of CSE, CREC 38


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

K-Means Model Building:

Classification Report:

Dept of CSE, CREC 39


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

Auto Encoders:

Classification Report:

Dept of CSE, CREC 40


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

Neural Networks:

Classification Report:

Dept of CSE, CREC 41


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

Graphs

Accuracy Graph

Dept of CSE, CREC 42


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

Precision Graph

Recall Graph

Dept of CSE, CREC 43


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

7 . CONCLUSION
In this application, I have successfully created unsupervised ML models to detect whether the
credit card transactions is fraud or not. I noticed that out of Local Outlier Factor, Isolation
Forest, K-Means Clustering, Neural Networks and Auto Encoders Neural Networks performs
well with accuracy score of 99% and precision and recall scores of 85%. .The very nature of this
project allows for multiple algorithms to be integrated together as modules and their results can
be combined to increase the accuracy of the final result. Future Enhancements,this system can
be extended to improve the models precision and recall scores by applying imbalanced data
treatment techniques to improve precision and recall scores of our Machine Learning models.
Hence, more data will surely make the model more accurate in detecting frauds and reduce the
number of false positives. However, this requires official support from the banks themselves.

Dept of CSE, CREC 44


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

8 . BIBILOGRAPHY

REFERENCES

[1] A. A. Taha, S. J. Malebary, “Intelligent Approach to Credit Card Fraud Detection Using
an OLightGBM”, IEEE Access (2020), pp. 25579- 25587.

[2] S. N. Kalid, K. H NG, G. K Tong, K. C Khore., “A Multiple Classifiers System for


Anomaly Detection in Credit Card Data With Unbalanced and Overlapped Classes”, IEEE
Access (2020), Vol. 8, pp. 28210- 28221.

[3] S. Makki, Z. A Assaghir, Y. Taher, R. Haque, M. S Hacid, H. Zeineddine, “An


Experimental Study With Imbalanced Classification Approaches for Credit Card Fraud
Detection”, Special Section On Advanced Software And Data Engineering For Secure
Societies, IEEE Access (2019), Vol 7, pp. 9301093022.

[4] K. Randhawa, C. K Loo, M. Seera, C. P Lim, A. K. Nandi, “Credit Card Fraud Detection
Using Adaboost And Majority Voting”, Ieee Access, (2018) Vol 6, pp 14277-14284.

[5] Andrea Dal Pozzolo, Giacomo Boracchi, Olivier Caelen, Cesare Alippi, Gianluca
Bontempi,
“Credit Card Fraud Detection: A Realistic Modeling and a Novel Learning Strategy”, Ieee
Transactions On Neural Networks And Learning Systems, (2018) Vol. 29, No. 8, pp. 3784-
3794.
[6] L. Meneghetti, M. Terzi, S. Del Favero, G. A Susto, C. Cobelli, “DataDriven Anomaly
Recognition for Unsupervised Model-Free Fault Detection in Artificial Pancreas”, Ieee
Transactions On Control Systems Technology, (2018) pp. 1-15.

[7] Saputra, Adi & Suharjito, Suharjito. (2019). Fraud Detection using Machine Learning in e-
Commerce.
10.14569/IJACSA.2019.0100943.

[8] A. K. Rai and R. K. Dwivedi, "Fraud Detection in Credit Card Data using Unsupervised
Machine Learning Based Scheme," 2020 International Conference on Electronics and

Dept of CSE, CREC 45


ROBUST ARTIFICIAL NEURAL NETWORK TECHNIQUE TO DETECT FRAUD
TRANSACTIONS ON CREDIT CARD

Sustainable Communication Systems (ICESC), Coimbatore, India, 2020, pp. 421-426, doi:
10.1109/ICESC48915.2020.9155615.

[9] John O. Awoyemi, Adebayo O. Adetunmbi, Samuel A. Oluwadare et al., “Credit card
fraud detection using Machine Learning Techniques: A Comparative Analysis”, IEEE,
2017.

[10] Rajendra Kumar Dwivedi, Sonali Pandey, Rakesh Kumar “A study on Machine Learning
Approaches for Outlier Detection in Wireless Sensor Network” IEEE International Conference
Confluence, (2018)

Dept of CSE, CREC 46


LIST OF FIGURES:

1. Figure 3.3: Architecture................................................…………………………7

2. Figure 3.4.1: Context Level DFD......................................................................10

3. Figure 3.4.2: DFD for Level 1............................................................................11

4. Figure 3.4.3: DFD for Level 2............................................................................11

5. Figure 4.2: Use Case Diagram…………………………………………………….12

6. Figure 4.2Class diagram…………………………………………………….…..….13

7. Figure 4.3 Sequence diagram………………………………………………......…14

8. Figure 4.4 Collaboration diagram…………………………………………….....…15

9. Figure 4.5 Activity diagram……………………………………………………....…16

10. Figure 4.6 State chart diagram…………………………………………………..…17

11. Figure 4.7 Component diagram………………………………………………….…18

12. Figure 4.8 Deployment diagram……………………………………….………….…..…19

LIST OF OBBREVIATIONS:

ANN - Artificial Neural Network

AE - Auto Encoder

LOF - Local Outlier Factor

IF - Isolation Forest

DFDS - Data Flow Diagrams

You might also like