{"id":21245214,"url":"https://github.com/mfl28/machinelearning","last_synced_at":"2025-07-10T22:31:01.094Z","repository":{"id":37232145,"uuid":"199588592","full_name":"mfl28/MachineLearning","owner":"mfl28","description":"A collection of Jupyter notebooks and a  Python library for Machine Learning projects. ","archived":false,"fork":false,"pushed_at":"2022-12-27T08:28:34.000Z","size":78375,"stargazers_count":6,"open_issues_count":0,"forks_count":3,"subscribers_count":0,"default_branch":"master","last_synced_at":"2023-03-03T19:12:04.448Z","etag":null,"topics":["detection","jupyter-notebooks","kaggle-competition","machine-learning","machine-learning-library","nbviewer","notebook","python","pytorch"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mfl28.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-07-30T06:25:11.000Z","updated_at":"2022-10-15T09:55:26.000Z","dependencies_parsed_at":"2023-01-31T03:00:50.714Z","dependency_job_id":null,"html_url":"https://github.com/mfl28/MachineLearning","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mfl28%2FMachineLearning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mfl28%2FMachineLearning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mfl28%2FMachineLearning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mfl28%2FMachineLearning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mfl28","download_url":"https://codeload.github.com/mfl28/MachineLearning/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225658518,"owners_count":17503663,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["detection","jupyter-notebooks","kaggle-competition","machine-learning","machine-learning-library","nbviewer","notebook","python","pytorch"],"created_at":"2024-11-21T01:48:54.970Z","updated_at":"2024-11-21T01:48:55.602Z","avatar_url":"https://github.com/mfl28.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Machine Learning\nThis repo contains a compilation of machine learning projects in the form of Jupyter notebooks. For some notebooks additional data, such as bounding box annotation files are needed, these files can be found in the *data* folder. [Pytorch](https://pytorch.org/) is used as the underlying library for projects involving deep learning.\n\n## `mltools` Library [![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/mfl28/MachineLearning.svg?logo=lgtm\u0026logoWidth=18)](https://lgtm.com/projects/g/mfl28/MachineLearning/context:python)\nThis is a Python library which contains useful classes and functions for machine learning and data science tasks, such as feature exploration, object detection and classification as well as semantic segmentation using Pytorch. \n\n## How to open notebooks using Docker\n**Requirements:** [Docker](https://www.docker.com/get-started), [docker-compose](https://docs.docker.com/compose/install/)\n\nThe repo provides a [Dockerfile](Dockerfile) and [docker-compose.yml](docker-compose.yml) to create a Docker container that starts a Jupyter Notebook server (using [docker-stacks](https://github.com/jupyter/docker-stacks))\nand allows you to open the notebooks without having to install the requirements on your system. The steps to do this are:\n\n1. Clone the repo:\n    ```bash\n    git clone https://github.com/mfl28/MachineLearning.git\n    cd MachineLearning\n    ```\n2. Build the image and start the container using `docker-compose up`.\n3. Copy the URL shown in the terminal to your browser's address bar and replace the internal port (`8888`) with the mapped host port `10000`.\n4. When you are done, you can shut down the server from the terminal using `CTRL-C` and remove the created Docker container using `docker-compose down.`\n\n## Notebooks\n\n### Semantic Segmentation\n\n#### Kaggle Competition: Dstl Satellite Imagery Feature Detection ([notebook](https://github.com/mfl28/MachineLearning/blob/master/notebooks/Kaggle_Dstl_Satellite_Imagery_Feature_Detection.ipynb), [![nbviewer](https://img.shields.io/badge/render-nbviewer-orange.svg)](https://nbviewer.jupyter.org/github/mfl28/MachineLearning/blob/master/notebooks/Kaggle_Dstl_Satellite_Imagery_Feature_Detection.ipynb), [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/mfl28/MachineLearning/blob/master/notebooks/Kaggle_Dstl_Satellite_Imagery_Feature_Detection.ipynb))\n\u003cp align=left\u003e\n\u003cimg src=\"demo-media/satellite_demo1.png\" height= \"150\" /\u003e\n\u003cimg src=\"demo-media/satellite_demo2.png\" height= \"150\" /\u003e\n\u003c/p\u003e\n\nA notebook showing how to perform semantic segmentation using a fully convolutional neural network. Our aim is to locate buildings in satellite images from the [Kaggle Dstl Satellite Imagery Feature Detection Challenge](https://www.kaggle.com/c/dstl-satellite-imagery-feature-detection).\n\n\n### Object Detection\n\n#### Humpback Whale Fluke Detection ([notebook](https://github.com/mfl28/MachineLearning/blob/master/notebooks/Humpback_Whale_Fluke_Detection.ipynb), [![nbviewer](https://img.shields.io/badge/render-nbviewer-orange.svg)](https://nbviewer.jupyter.org/github/mfl28/MachineLearning/blob/master/notebooks/Humpback_Whale_Fluke_Detection.ipynb), [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/mfl28/MachineLearning/blob/master/notebooks/Humpback_Whale_Fluke_Detection.ipynb))\n\u003cp align=left\u003e\n\u003cimg src=\"demo-media/whale_demo.png\" height= \"200\" /\u003e\n\u003c/p\u003e\n\nA notebook showing how to perform object detection with a custom dataset using a pre-trained and subsequently fine-tuned neural network. Specifically, the aim is to detect and locate humpback whale flukes in images from the [Kaggle Humpback Whale Identification Challenge](https://www.kaggle.com/c/humpback-whale-identification). The ground truth bounding box labels for a selection of 800 images from the training dataset provided by the challenge were created using [Bounding Box Editor](https://github.com/mfl28/BoundingBoxEditor).\n\n#### VOCXMLDataset Demo ([notebook](https://github.com/mfl28/MachineLearning/blob/master/notebooks/VOCXMLDataset_Demo.ipynb), [![nbviewer](https://img.shields.io/badge/render-nbviewer-orange.svg)](https://nbviewer.jupyter.org/github/mfl28/MachineLearning/blob/master/notebooks/VOCXMLDataset_Demo.ipynb))\n\u003cp align=left\u003e\n\u003cimg src=\"demo-media/voc_demo.png\" height= \"250\" /\u003e\n\u003c/p\u003e\n\nA notebook showcasing the use of the `VOCXMLDataset` class from `mltools.detection.datasets` using images and annotations from the [VOC2012 dataset](http://host.robots.ox.ac.uk/pascal/VOC/voc2012/) for demonstrations. \n\n### Classification\n\n#### Kaggle Competition: Humpback Whale Identification ([notebook](https://github.com/mfl28/MachineLearning/blob/master/notebooks/Kaggle_Whale_Identification.ipynb), [![nbviewer](https://img.shields.io/badge/render-nbviewer-orange.svg)](https://nbviewer.jupyter.org/github/mfl28/MachineLearning/blob/master/notebooks/Kaggle_Whale_Identification.ipynb), [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/mfl28/MachineLearning/blob/master/notebooks/Kaggle_Whale_Identification.ipynb))\nIn this notebook we'll train a classifier to identify humpback whales in images according to the [Kaggle Humpback Whale Identification Challenge](https://www.kaggle.com/c/humpback-whale-identification). We'll use the [fast.ai](https://github.com/fastai/fastai) deep learning library to perform this task. \n\n#### Kaggle Competition: MNIST Digit Recognizer ([notebook](https://github.com/mfl28/MachineLearning/blob/master/notebooks/Kaggle_Mnist_Digit_Recognizer.ipynb), [![nbviewer](https://img.shields.io/badge/render-nbviewer-orange.svg)](https://nbviewer.jupyter.org/github/mfl28/MachineLearning/blob/master/notebooks/Kaggle_Mnist_Digit_Recognizer.ipynb))\n\u003cp align=left\u003e\n\u003cimg src=\"demo-media/mnist_demo.png\" height= \"200\" /\u003e\n\u003c/p\u003e\n\nA notebook showing how to train a convolutional neural network object classifier for the MNIST Dataset from the [Kaggle MNIST Digit Recognizer competition](https://www.kaggle.com/c/digit-recognizer). The aim is to predict hand-drawn digits in images as accurately as possible.\n\n#### Kaggle Competition: Titanic - Machine Learning from Disaster ([notebook](https://github.com/mfl28/MachineLearning/blob/master/notebooks/Kaggle_Titanic_Machine_Learning_From_Disaster.ipynb), [![nbviewer](https://img.shields.io/badge/render-nbviewer-orange.svg)](https://nbviewer.jupyter.org/github/mfl28/MachineLearning/blob/master/notebooks/Kaggle_Titanic_Machine_Learning_From_Disaster.ipynb))\n\u003cp align=left\u003e\n\u003cimg src=\"demo-media/titanic_demo.jpg\" height= \"200\" /\u003e\n\u003c/p\u003e\n\nThe aim of this notebook is to build a model which can predict the survival of passengers of the Titanic. Problem and data come from the [Kaggle Titanic: Machine Learning from Disaster competition](https://www.kaggle.com/c/titanic). We start with an exploration and visualization of the provided features, then proceed to building a feature engineering [Pipeline](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.Pipeline.html) using [scikit-learn](https://scikit-learn.org/stable/index.html). Finally we'll experiment with several machine learning approaches to solve the prediction problem.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmfl28%2Fmachinelearning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmfl28%2Fmachinelearning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmfl28%2Fmachinelearning/lists"}