A deep learning project implementing multi-class classification to predict iris flower species using a feedforward neural network with Keras and TensorFlow.
This project demonstrates a complete machine learning workflow including data preprocessing, model architecture design, training, and evaluation. The model predicts iris species (Setosa, Versicolor, Virginica) based on four morphological features using a neural network with 100% test accuracy.
The Iris dataset contains 150 flower samples with 4 continuous features per sample:
- Sepal Length (cm)
- Sepal Width (cm)
- Petal Length (cm)
- Petal Width (cm)
Target: 3 iris species (categorical)
iris-classifier/
├── iris-species.ipynb # Main implementation notebook
├── README.md # Project documentation
├── requirements.txt # Python dependencies
└── .gitignore # Git ignore file
- Dataset normalization using Min-Max scaling (0-1 range)
- One-hot encoding of categorical target variable
- Train-test split: 70% training, 30% testing
Input Layer (4 features)
↓
Dense Layer (64 neurons, ReLU activation)
↓
Dense Layer (64 neurons, ReLU activation)
↓
Output Layer (3 neurons, Softmax activation)
- Optimizer: Adam (adaptive learning rate)
- Loss Function: Categorical Crossentropy
- Metrics: Accuracy
- Epochs: 100
- Batch Size: Default (32)
| Metric | Value |
|---|---|
| Test Accuracy | 97.78% |
| Test Loss | 0.02658 |
| Training Samples | 105 |
| Testing Samples | 45 |