Bicycle Theft Prediction API

This project is a group assignment for COMP309, where we develop a predictive machine learning model to classify whether a stolen bicycle is likely to be returned or not. The model is deployed as an API, with a frontend interface built using React.

📋 Purpose

The goal of this project is to:

  1. Data Exploration: Load, clean, visualize, and analyze a dataset of bicycle thefts in Toronto.
  2. Data Modeling: Prepare the dataset by transforming, selecting, and managing features for effective prediction.
  3. Predictive Model Building: Create and evaluate supervised machine learning classifiers using Python libraries such as Scikit-learn, Pandas, and Numpy.
  4. API Deployment: Use Flask to deploy the trained model as a RESTful API.
  5. Frontend Development: Build a React-based web application to interact with the API and provide predictions.

🚀 Features

  • Data Exploration: Statistical analysis, visualizations, and insights into the dataset.
  • Machine Learning Models: Logistic Regression, Decision Trees, and other classification algorithms.
  • Model Evaluation: Confusion matrix, ROC curves, and performance metrics.
  • API Service: Exposes the predictive model for external use with serialization/deserialization via Pickle.
  • Frontend Interface: React-based UI for easy interaction with the API.

✨ Team 4

  • Landon Essex
  • Benjamin Lefebvre
  • Noveen Mirza
  • Jeff Sy
  • Konain Zahra