This project demonstrates the implementation of a Deep Neural Network (DNN) using TensorFlow for Bank Note Authentication.
The objective is to classify bank notes as:
- Authentic (1)
- Fake (0)
using statistical features extracted from banknote images.
The project covers the complete machine learning workflow including:
- Data Loading
- Exploratory Data Analysis (EDA)
- Data Preprocessing
- Feature Scaling
- Train-Test Split
- Deep Neural Network Development
- Model Training
- Model Evaluation
- Performance Comparison with Random Forest
Dataset: Bank Note Authentication Dataset
The dataset contains features extracted from images of genuine and forged banknotes.
- Variance
- Skewness
- Curtosis
- Entropy
Class
- 0 = Fake Bank Note
- 1 = Authentic Bank Note
- Python
- TensorFlow
- Pandas
- NumPy
- Matplotlib
- Seaborn
- Scikit-Learn
Required libraries are imported for:
- Data Analysis
- Visualization
- Deep Learning
- Machine Learning
The dataset is loaded using Pandas.
Purpose:
- Read bank note data
- Explore dataset structure
The following visualizations are created:
Shows distribution of:
- Authentic Notes
- Fake Notes
Shows relationships between features and class labels.
Purpose:
- Understand data patterns
- Detect class separation
Features and labels are separated.
- Variance
- Skewness
- Curtosis
- Entropy
Class
StandardScaler is used to normalize feature values.
Purpose:
- Improve neural network performance
- Faster convergence
Dataset is divided into:
- Training Set
- Testing Set
Purpose:
- Train model on one set
- Evaluate on unseen data
The TensorFlow Sequential model contains:
Hidden Layer 1
10 Neurons
Hidden Layer 2
20 Neurons
Hidden Layer 3
10 Neurons
1 Neuron
Sigmoid Activation
Architecture:
Input Layer
↓
Dense(10)
↓
Dense(20)
↓
Dense(10)
↓
Dense(1)
The neural network is trained using:
- Training Data
- Multiple Epochs
- Batch Processing
Purpose:
- Learn patterns from banknote features
Predictions are generated on test data.
Purpose:
- Determine whether a note is fake or authentic
Evaluation Metrics:
- Confusion Matrix
- Classification Report
Metrics Include:
- Accuracy
- Precision
- Recall
- F1 Score
A Random Forest Classifier is trained on the same dataset.
Purpose:
- Compare DNN performance
- Validate results
The Deep Neural Network successfully classifies bank notes as authentic or fake with high accuracy.
The Random Forest model is also evaluated for comparison.
pip install -r requirements.txtOpen:
jupyter notebook "04-Tensorflow Project Exercise.ipynb"Run all cells sequentially.
This project helps understand:
- Deep Neural Networks
- TensorFlow
- Data Preprocessing
- Feature Scaling
- Classification Problems
- Model Evaluation
- Random Forest Comparison
- Hyperparameter Tuning
- Cross Validation
- More Complex Neural Networks
- Model Deployment
- Web Application Integration
This project demonstrates how TensorFlow Deep Neural Networks can be used to solve binary classification problems. The model effectively distinguishes between authentic and fake bank notes using extracted statistical features.
Machine Learning and Deep Learning Project