{"adoption": {"forks": 233, "observed_at": "2026-08-28T04:03:57.806391+00:00", "stars": 1199}, "canonical_url": "https://ross.abutalabs.com/products/99-ml-learning-projects", "card": {"archived": false, "artifact_type": "learning-resource", "description": "A list of 99 machine learning projects for anyone interested to learn from coding and building projects", "domain": ["machine-learning", "education", "tutorials", "computer-vision"], "enriched": true, "function": ["machine-learning", "nlp", "computer-vision", "data-science"], "health_score": 20, "homepage": null, "language": "Jupyter Notebook", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["gimseng/99-ML-Learning-Projects"], "name": "gimseng/99-ML-Learning-Projects", "platform": ["python", "cross-platform"], "pushed_at": "2024-07-04T13:09:49+00:00", "repo": "gimseng/99-ML-Learning-Projects", "stars": 1199, "tags": ["jupyter-notebook", "exercises", "beginner-friendly", "hacktoberfest", "project-based-learning", "sklearn", "natural-language-processing"], "topics": ["hacktoberfest"], "urls": [], "use_cases": ["learn machine learning by building projects", "find beginner ML coding exercises", "practice implementing kNN from scratch", "get hands-on with sentiment analysis and LSTM text generation", "contribute ML exercises and solutions to open source", "find structured ML homework-style problems"], "what_it_is": "A community-curated collection of 99 machine learning coding exercises and solutions, currently at 10 completed projects. Exercises range from beginner (linear regression, Titanic prediction) to advanced (LSTM text generation) and are contributed via issue tickets and reviewed pull requests.", "when_to_avoid": ["you need production-ready ML code or libraries", "you expect all 99 projects to exist already (only 10 are complete)", "you need deep learning frameworks coverage beyond basic examples", "you want a structured course with lectures rather than exercises"], "when_to_choose": ["you learn best by coding exercises rather than reading theory", "you want graded difficulty from beginner to advanced ML projects", "you want to practice with Jupyter notebooks and scikit-learn", "you want an open-source project to contribute to during Hacktoberfest"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/99-ml-learning-projects", "repo": "gimseng/99-ML-Learning-Projects", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.806391+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:20:53.319511+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5a5f537ee1c06c57e9974994545aadbc2c99ab3d001fef9fb181261cf2498ab3", "fetched_at": "2026-08-28T04:03:57.806391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gimseng/99-ML-Learning-Projects"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.806391+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:20:53.319511+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5a5f537ee1c06c57e9974994545aadbc2c99ab3d001fef9fb181261cf2498ab3", "fetched_at": "2026-08-28T04:03:57.806391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gimseng/99-ML-Learning-Projects"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:20:53.319511+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5a5f537ee1c06c57e9974994545aadbc2c99ab3d001fef9fb181261cf2498ab3", "fetched_at": "2026-08-28T04:03:57.806391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gimseng/99-ML-Learning-Projects"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.806391+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.806391+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.806391+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:20:53.319511+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5a5f537ee1c06c57e9974994545aadbc2c99ab3d001fef9fb181261cf2498ab3", "fetched_at": "2026-08-28T04:03:57.806391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gimseng/99-ML-Learning-Projects"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.806391+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.806391+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:20:53.319511+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5a5f537ee1c06c57e9974994545aadbc2c99ab3d001fef9fb181261cf2498ab3", "fetched_at": "2026-08-28T04:03:57.806391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gimseng/99-ML-Learning-Projects"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.806391+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.806391+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.806391+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:20:53.319511+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5a5f537ee1c06c57e9974994545aadbc2c99ab3d001fef9fb181261cf2498ab3", "fetched_at": "2026-08-28T04:03:57.806391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gimseng/99-ML-Learning-Projects"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.806391+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.806391+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:20:53.319511+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5a5f537ee1c06c57e9974994545aadbc2c99ab3d001fef9fb181261cf2498ab3", "fetched_at": "2026-08-28T04:03:57.806391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gimseng/99-ML-Learning-Projects"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:20:53.319511+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5a5f537ee1c06c57e9974994545aadbc2c99ab3d001fef9fb181261cf2498ab3", "fetched_at": "2026-08-28T04:03:57.806391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gimseng/99-ML-Learning-Projects"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:20:53.319511+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5a5f537ee1c06c57e9974994545aadbc2c99ab3d001fef9fb181261cf2498ab3", "fetched_at": "2026-08-28T04:03:57.806391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gimseng/99-ML-Learning-Projects"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:20:53.319511+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5a5f537ee1c06c57e9974994545aadbc2c99ab3d001fef9fb181261cf2498ab3", "fetched_at": "2026-08-28T04:03:57.806391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gimseng/99-ML-Learning-Projects"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2244, "days_push": 790, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}