/fishcatch

Algorithm to predict the width of a fish based on its features

Primary LanguageJupyter Notebook

Fishcatch

Binder Open In Colab nbviewer

by joaoalexarruda

This repository contains the 'fishcatch' dataset. This project is part of an assignment for the post graduation course 'Data Science and Digital Transformation' at the Instituto Politécnico de Portalegre (IPP).

The goal is to apply machine learning techniques to the dataset and to evaluate the results. In this case, regression techniques such as linear and polynomial regression will be used to predict the width of the fish based on the other variables.

Assignment tasks

The assignment requires the tasks described in the task description pdf file.

Streamlit Web App

There is a simple web app that uses the trained model to let any user make predictions in a friendly page. Access it by clicking the following link:

Streamlit App

streamlit web app

Notebooks

I highly recommend reading the notebooks in nbviewer, as the github rendering is not perfect. You can access the notebooks in nbviewer by clicking the following links:

  • n0: Exploratory Data Analysis
  • n1: Linear Regression with all numeric variables
  • n2: Linear Regression without non-linear variables
  • n3: Polynomial Regression
  • n4: Linear and Polynomial Regression
  • n5: Conclusion

Description of the dataset

159 fishes of 7 species are caught and measured. Altogether there are 7 variables. All the fishes are caught from the same lake (Laengelmavesi) near Tampere in Finland.

More information about the dataset can be found in the original source.

On the original dataset, there was a variable called 'Sex' which was removed from this dataset.

Results

The results of the models are in the following image:

results

Dependencies

Run the following command on a python environment to install the required dependencies:

pip install -r requirements.txt