Predict the species of an Iris flower Setosa, Versicolor or Virginica by using an end-to-end machine learning pipeline and deploy the best model in a web app for user testing.
- Project Overview
- Dataset
- Pipeline & Model Workflow
- Installation & Usage
- Results
- Project Structure
- Future Work
This repository implements a complete workflow for multiclass classification on the classic Iris dataset. It covers:
- Data gathering & Loading in Editor
- Preprocessing (cleaning, encoding, scaling, train/test split)
- Training and comparing multiple classifiers
- Selecting and persisting the best model
- Creat8hg a Flask WebApp & deploying the best model
- Getting predictions through a Flask web-interface
- Source: Kaggle Iris dataset (150 samples, 4 features)
- Classes:
- Iris-setosa
- Iris-versicolor
- Iris-virginica
- Features: sepal length, sepal width, petal length, petal width
- Environment & Libraries
- Data Loading & Exploration
- Data Preprocessing
- Model Training & Comparison
- Evaluation & Selection
- Saving Model, Encoder & Scalar as .pkl
- Dependencies
- App Initialization
- Input Handling & Prediction
- Response Rendering
- Clone the repo
git clone https://github.com/<username>/Flower-Species-Classification.git cd Flower-Species-Classification
--
These are results of the Five Algorithms used:
- 97.78% : Logistic Regression
- 95.56% : Decision Tree
- 97.78% : Random Forest
- 100.0% : SVM
- 97.78% : Naive Bayes
The Best model is Choosen an SVM with an accuracy of 100%.