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.
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 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:
- 95.19% : Logistic Regression
- 95.14% : Decision Tree
- 96.710% : Random Forest
- 97.10% : SVM
- 95.14% : Naive Bayes
The Choosen Best model is SVM with an accuracy of 97.10%.
