Credit Card Fraud detection using machine learning
Many people use credit cards to buy things online or in stores. But sometimes, fraudsters steal credit card information and use it to buy stuff without permission. These credit card frauds can cause many problems for customers and companies. To stop credit card fraud, we need new ways to discover when someone uses a credit card that is not theirs. One of these new ways is machine learning. Machine learning is when computers learn from data and make predictions. This article will explain how machine learning can help us detect credit card fraud and make our money safer. You will also learn how to make Credit Card Fraud detection using machine learning.
The Rising Wave of Credit Card Fraud
Credit card fraud is a growing threat that affects millions of people globally. As technology continues to advance, fraudsters are also becoming more advance in their methods.From identity theft to skimming devices, criminals constantly develop new techniques to exploit vulnerabilities in the system. To tackle fraud effectively, a proactive and adaptive approach is necessary.
The Role of Machine Learning in Financial Security
Machine learning is a part of artificial intelligence, which is when computers do things that humans can do. Machine learning can help us stop credit card fraud. It can use smart rules to look at a lot of data, find what is normal and what is not, and catch fraudsters. This way, we can stop fraudsters before they do more harm.
Credit Card Fraud detection using machine learning with source code
To make credit card fraud detection using machine learning first you need to download dataset from here. Download Dataset
Step 1: Import necessary libraries
The code begins by importing required libraries, including Pandas for data manipulation, scikit-learn for machine learning, and specific modules like RandomForestClassifier, LogisticRegression, DecisionTreeClassifier, SVC, KNeighborsClassifier for different classification algorithms.
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import RandomForestClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
from sklearn.svm import SVC
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score, confusion_matrix, classification_report
Step 2: Load the dataset
Reads a CSV file named ‘cdd.csv’ into a Pandas DataFrame. Assumes the dataset contains features and labels (‘Class’ column) where 1 represents fraud and 0 represents non-fraud.
data = pd.read_csv('cdd.csv')
Step 3: Split the dataset
- Separates the dataset into features (
X
) and labels (y
). - Splits the data into training and testing sets using
train_test_split
from scikit-learn.
X = data.drop('Class', axis=1)
y = data['Class']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
Step 4: Standardize the features
X = data.drop('Class', axis=1)
y = data['Class']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
Step 5: Apply Random Forest Model
random_forest_model = RandomForestClassifier(random_state=42)
random_forest_model.fit(X_train, y_train)
y_pred_rf = random_forest_model.predict(X_test)
accuracy_rf = accuracy_score(y_test, y_pred_rf)
conf_matrix_rf = confusion_matrix(y_test, y_pred_rf)
classification_rep_rf = classification_report(y_test, y_pred_rf)
print("Random Forest Model:")
print(f"Accuracy: {accuracy_rf:.2f}")
print(f"Confusion Matrix:\n{conf_matrix_rf}")
print(f"Classification Report:\n{classification_rep_rf}")
print("-" * 50)
Step 6: Apply Logistic Regression Model
logistic_regression_model = LogisticRegression(random_state=42)
logistic_regression_model.fit(X_train, y_train)
y_pred_lr = logistic_regression_model.predict(X_test)
accuracy_lr = accuracy_score(y_test, y_pred_lr)
conf_matrix_lr = confusion_matrix(y_test, y_pred_lr)
classification_rep_lr = classification_report(y_test, y_pred_lr)
print("Logistic Regression Model:")
print(f"Accuracy: {accuracy_lr:.2f}")
print(f"Confusion Matrix:\n{conf_matrix_lr}")
print(f"Classification Report:\n{classification_rep_lr}")
print("-" * 50)
Step 7: Apply Support Vector Machine (SVM) Model
svm_model = SVC(random_state=42)
svm_model.fit(X_train, y_train)
y_pred_svm = svm_model.predict(X_test)
accuracy_svm = accuracy_score(y_test, y_pred_svm)
conf_matrix_svm = confusion_matrix(y_test, y_pred_svm)
classification_rep_svm = classification_report(y_test, y_pred_svm)
print("Support Vector Machine (SVM) Model:")
print(f"Accuracy: {accuracy_svm:.2f}")
print(f"Confusion Matrix:\n{conf_matrix_svm}")
print(f"Classification Report:\n{classification_rep_svm}")
print("-" * 50)
Step 9: Apply K-Nearest Neighbors (KNN) Model
knn_model = KNeighborsClassifier()
knn_model.fit(X_train, y_train)
y_pred_knn = knn_model.predict(X_test)
accuracy_knn = accuracy_score(y_test, y_pred_knn)
conf_matrix_knn = confusion_matrix(y_test, y_pred_knn)
classification_rep_knn = classification_report(y_test, y_pred_knn)
print("K-Nearest Neighbors (KNN) Model:")
print(f"Accuracy: {accuracy_knn:.2f}")
print(f"Confusion Matrix:\n{conf_matrix_knn}")
print(f"Classification Report:\n{classification_rep_knn}")
Step 10: Taking input from the user
# Taking input from the user
print("Please enter values for the features to predict the class:")
feature_names = X.columns.tolist()
user_input = []
for feature in feature_names:
value = float(input(f"Enter value for {feature}: "))
user_input.append(value)
# Predicting using the trained model
predicted_class = random_forest_model.predict([user_input])
print(f"The predicted class is: {predicted_class[0]} So it is Fraud .....")
Output
To sum up, machine learning can help us stop credit card fraud. It is a big change in the way we fight against fraudsters who steal money. Machine learning can look at data, find what is normal and what is not, and catch bad people fast. It can also learn from new ways of stealing and stop them. As computers get better, working together with humans and machine learning will make our money safer.
Machine learning helps in credit card fraud detection by analyzing vast amounts of transactional data, identifying patterns, and detecting anomalies in real-time. This proactive approach enables financial institutions to stay ahead of fraudsters and minimize the impact of fraudulent activities.
Popular machine learning algorithms used in credit card fraud detection include decision trees, neural networks, and ensemble methods. These algorithms excel in recognizing patterns, making decisions, and adapting to evolving threats in real-time.
Individuals can protect themselves by regularly monitoring their credit card statements, using secure and unique passwords, enabling two-factor authentication, and promptly reporting any suspicious activities to their card issuer.
Final Year Projects
Data Science Projects
Blockchain Projects
Python Projects
Cyber Security Projects
Web dev Projects
IOT Projects
C++ Projects
-
Top 20 Machine Learning Project Ideas for Final Years with Code
-
10 Deep Learning Projects for Final Year in 2024
-
10 Advance Final Year Project Ideas with Source Code
-
Realtime Object Detection
-
E Commerce sales forecasting using machine learning
-
AI Music Composer project with source code
-
Stock market Price Prediction using machine learning
-
30 Final Year Project Ideas for IT Students
-
c++ Projects for beginners
-
Python Projects For Final Year Students With Source Code
-
20 Exiciting Cyber Security Final Year Projects
-
Top 10 Best JAVA Final Year Projects
-
C++ Projects with Source Code
-
Artificial Intelligence Projects For Final Year
-
How to Host HTML website for free?
-
How to Download image in HTML
-
Hate Speech Detection Using Machine Learning
-
10 Web Development Projects for beginners
-
Fake news detection using machine learning source code
-
Credit Card Fraud detection using machine learning