{"id":23076456,"url":"https://github.com/olibridge01/playgroundml","last_synced_at":"2026-05-08T14:14:52.179Z","repository":{"id":209658837,"uuid":"724639959","full_name":"olibridge01/PlaygroundML","owner":"olibridge01","description":"Code playground for commonly used machine learning models and algorithms","archived":false,"fork":false,"pushed_at":"2024-02-13T00:26:26.000Z","size":28043,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-03T12:16:09.212Z","etag":null,"topics":["data-science","deep-learning","machine-learning","machine-learning-algorithm","pytorch","sklearn"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/olibridge01.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-11-28T13:50:09.000Z","updated_at":"2023-11-30T12:31:06.000Z","dependencies_parsed_at":"2024-02-13T01:50:31.545Z","dependency_job_id":null,"html_url":"https://github.com/olibridge01/PlaygroundML","commit_stats":null,"previous_names":["olibridge01/playgroundml"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/olibridge01/PlaygroundML","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olibridge01%2FPlaygroundML","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olibridge01%2FPlaygroundML/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olibridge01%2FPlaygroundML/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olibridge01%2FPlaygroundML/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/olibridge01","download_url":"https://codeload.github.com/olibridge01/PlaygroundML/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olibridge01%2FPlaygroundML/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278762933,"owners_count":26041448,"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","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["data-science","deep-learning","machine-learning","machine-learning-algorithm","pytorch","sklearn"],"created_at":"2024-12-16T09:39:17.563Z","updated_at":"2025-10-07T11:18:03.594Z","avatar_url":"https://github.com/olibridge01.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Python3.10](https://img.shields.io/badge/python-3.8%20%7C%203.9%20%7C%203.10-blue)  \n![Python](https://img.shields.io/badge/python-3670A0?style=for-the-badge\u0026logo=python\u0026logoColor=ffdd54)\n![NumPy](https://img.shields.io/badge/numpy-%23013243.svg?style=for-the-badge\u0026logo=numpy\u0026logoColor=white)\n![scikit-learn](https://img.shields.io/badge/scikit--learn-%23F7931E.svg?style=for-the-badge\u0026logo=scikit-learn\u0026logoColor=white)\n![PyTorch](https://img.shields.io/badge/PyTorch-%23EE4C2C.svg?style=for-the-badge\u0026logo=PyTorch\u0026logoColor=white)\n\n![PlaygroundML_grey](https://github.com/olibridge01/PlaygroundML/assets/86416298/a0bfdf01-fe1d-4f88-aabd-488a15bf2613)\n## Playground for Machine Learning in Python\n*PlaygroundML* is a repository containing implementations of various commonly used machine learning models and algorithms. I wrote this project with the aim of elucidating some key methods in machine learning and understanding how things work in practice. Feel free to play around with my code or use it for reference.\n\n## Installation\nTo clone the repository and install the required packages, run the following commands in the terminal:\n```\ngit clone https://github.com/olibridge01/PlaygroundML.git\ncd PlaygroundML\npip install -r requirements.txt\n```\n\n## Directory Structure\nThe repository is divided into directories corresponding to each ML algorithm/model that I have implemented. Each directory contains:\n- A **Python file** containing the implementation of the algorithm/model.\n- A **Jupyter notebook** containing a demonstration of the algorithm/model on a toy dataset, including relevant equations/background theory.\n- Any miscellaneous files (e.g. plots/gifs).\n\nThe directories are as follows:\n- `01-LinearRegression`: Plain old linear regression, regression with a feature map $\\mathbf{\\phi}(\\mathbf{x})$, and ridge regression ($L_2$ regulariser).\n- `02-kNearestNeighbours`: $k$-NN algorithm for a two-dimensional toy dataset.\n- `03-KernelRidgeRegression`: Kernel ridge regression with a Gaussian kernel, including cross-validation for hyperparameter determination.\n- `04-SupportVectorMachines`: SVMs implemented on toy datasets (linearly separable, linearly nonseparable and nonlinearly separable).\n- `05-GaussianProcesses`: Gaussian process regression on a toy dataset of noisy training data.\n- `06-GaussianMixtureModels`: Gaussian mixture models implemented on a toy dataset.\n- `07-kMeansClustering`: $k$-means clustering on toy data.\n\n## Visualisations\nBelow is a selection of plots generated by running my implementations on toy datasets. Where possible, I plot an animation to show how the algorithm behaves as it learns.\n\n\u003c!-- \u003cp float=\"left\"\u003e\n  \u003cimg src=\"https://github.com/olibridge01/PlaygroundML/assets/86416298/621ba94a-e89a-4545-8d09-739daac0e37b\" width=\"49%\" /\u003e\n  \u003cimg src=\"https://github.com/olibridge01/PlaygroundML/assets/86416298/3186b63e-c0ad-40d8-aaa1-551bb86c8a9e\" width=\"49%\"/\u003e\n  \u003cimg src=\"https://github.com/olibridge01/PlaygroundML/assets/86416298/c4e9f6dc-b0c0-46cc-bf13-9a043084764b\" width=\"49%\" /\u003e\n  \u003cimg src=\"https://github.com/olibridge01/PlaygroundML/assets/86416298/7e04c4f0-e972-403c-961e-4d0ae7dd0bfd\" width=\"49%\" /\u003e\n  \u003cimg src=\"https://github.com/olibridge01/PlaygroundML/assets/86416298/f6508526-a0c8-442c-901a-90af9faeb5ad\" width=\"49%\" /\u003e\n\u003c/p\u003e --\u003e\n\n|$k$-Nearest Neighbours Algorithm | Gaussian Process Regression |\n|:-:|:-:|\n|![First Image](https://github.com/olibridge01/PlaygroundML/assets/86416298/621ba94a-e89a-4545-8d09-739daac0e37b)|![Second Image](https://github.com/olibridge01/PlaygroundML/assets/86416298/3186b63e-c0ad-40d8-aaa1-551bb86c8a9e)|\n\n| EM Algorithm for Gaussian Mixture Model | $k$-Means Clustering for $k=2$ |\n|:-:|:-:|\n|![First Image](https://github.com/olibridge01/PlaygroundML/assets/86416298/c4e9f6dc-b0c0-46cc-bf13-9a043084764b)|![Second Image](https://github.com/olibridge01/PlaygroundML/assets/86416298/7e04c4f0-e972-403c-961e-4d0ae7dd0bfd)|\n\n| $k$-Means Clustering for $k=5$ | Placeholder |\n|:-:|:-:|\n|![First Image](https://github.com/olibridge01/PlaygroundML/assets/86416298/f6508526-a0c8-442c-901a-90af9faeb5ad)|![Second Image](https://github.com/olibridge01/PlaygroundML/assets/86416298/f6508526-a0c8-442c-901a-90af9faeb5ad)|\n\n---\n**Oli Bridge** (\u003colibridge@rocketmail.com\u003e)\n\nFeel free to explore the different directories, and please reach out if you have any questions or suggestions. 🚀\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folibridge01%2Fplaygroundml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Folibridge01%2Fplaygroundml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folibridge01%2Fplaygroundml/lists"}