This project implements an Artificial Neural Network (ANN) to classify sonar signals as either Mines (M) or Rocks (R).
The dataset consists of 60 numerical features representing sonar signal energy levels across different frequency bands. The model is built using TensorFlow/Keras and evaluated using multiple performance metrics.
Classify underwater sonar signals into:
- Mine (M) → Metallic object (dangerous)
- Rock (R) → Natural object (safe)
This problem is important in:
- Maritime safety 🚢
- Naval defense ⚓
- Underwater object detection 🌊
- Total Samples: 208
- Features: 60 numerical features
- Target Variable:
M→ MineR→ Rock
- Python
- Pandas, NumPy
- Matplotlib, Seaborn
- Scikit-learn
- TensorFlow / Keras
- Label Encoding (M → 1, R → 0)
- Feature Scaling using StandardScaler
- Train-Test Split (80-20)
- Input Layer: 60 neurons
- Hidden Layer 1: 32 neurons (ReLU)
- Dropout Layer: 0.2
- Hidden Layer 2: 16 neurons (ReLU)
- Output Layer: 1 neuron (Sigmoid)
- Optimizer: Adam
- Loss Function: Binary Crossentropy
- Epochs: 100
- Batch Size: 8
The model is evaluated using:
- Accuracy
- Precision
- Recall
- F1 Score
- Confusion Matrix
- Feature Distribution (Histograms)
- Boxplots (Outlier Detection)
- Confusion Matrix
- Training vs Validation Accuracy
- Training vs Validation Loss
- The ANN model successfully classifies sonar signals with strong performance.
- Dropout helps reduce overfitting.
- Feature scaling significantly improves model convergence.
- Importance of feature scaling in neural networks
- How ANN learns complex patterns from data
- Role of activation functions (ReLU, Sigmoid)
- Preventing overfitting using Dropout
- Evaluating classification models using multiple metrics
Meghana C Varghese