A web application made with python and streamlit to predict the species of penguin given the input features.
The goal of this project was to develop a machine learning classifier model that could accurately predict the species of penguin namely;
- Chinstrap
- Adelie
- Gentoo
The predictions were based on the following features:
- culmen_length_mm
- culmen_depth_mm
- flipper_length_mm
- body_mass_g
- sex/gender
The data used was gotten from this repository GitHub)
In this project I used two different Logistic Regression classifier approaches
-
One vs One Approach: One-vs-all classification is a method which involves training distinct binary classifiers, each designed for recognizing a particular class.
-
One vs Rest Approach: One-vs-rest (OvR for short, also referred to as One-vs-All or OvA) is a heuristic method for using binary classification algorithms for multi-class classification. It involves splitting the multi-class dataset into multiple binary classification problems.
The final model used for the app was the One vs One Classifier which had the best accuracy.
To run a demo do the following:
- Clone the repository.
- Install the requirements from the requirements.txt file:
pip install -r requirements.txt
- Then from your command line run:
streamlit run penguin_predictor_app.py
Then you can view the site on your local server.
The app was made and deployed with streamlit and streamlit cloud.
Streamlit is an open source app framework in Python language. It helps us create web apps for data science and machine learning in a short time. It is compatible with major Python libraries such as scikit-learn, Keras, PyTorch, SymPy(latex), NumPy, pandas, Matplotlib etc.
The live link can be seen here: https://share.streamlit.io/nneji123/penguin-species-prediction-app/main/penguin_predictor_app.py