{"adoption": {"forks": 5432, "observed_at": "2026-08-28T04:11:57.650169+00:00", "stars": 32528}, "canonical_url": "https://ross.abutalabs.com/products/ml-from-scratch", "card": {"archived": false, "artifact_type": "library", "description": "Machine Learning From Scratch. Bare bones NumPy implementations of machine learning models and algorithms with a focus on accessibility. Aims to cover everything from linear regression to deep learning.", "domain": ["machine-learning", "deep-learning", "data-science", "education"], "enriched": true, "function": ["machine-learning", "deep-learning", "reinforcement-learning", "data-science"], "health_score": 20, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["eriklindernoren/ML-From-Scratch"], "name": "eriklindernoren/ML-From-Scratch", "platform": ["python"], "pushed_at": "2023-10-15T06:05:06+00:00", "repo": "eriklindernoren/ML-From-Scratch", "stars": 32528, "tags": ["numpy", "educational", "from-scratch", "supervised-learning", "unsupervised-learning", "genetic-algorithms", "algorithms"], "topics": ["machine-learning", "deep-learning", "deep-reinforcement-learning", "machine-learning-from-scratch", "data-science", "data-mining", "genetic-algorithm"], "urls": [], "use_cases": ["learn how machine learning algorithms work internally", "understand the math behind neural networks with plain numpy", "study implementations of regression, clustering, and CNNs from scratch", "teach a machine learning course with readable reference code", "explore deep reinforcement learning and genetic algorithms in python", "see how backpropagation and gradient descent are implemented"], "what_it_is": "A Python library providing bare-bones NumPy implementations of fundamental machine learning models and algorithms, from linear regression to deep learning and reinforcement learning. It prioritizes transparency and accessibility over computational efficiency, making it ideal for learning how algorithms work internally.", "when_to_avoid": ["you need production-ready, optimized, or GPU-accelerated ML", "you want a maintained framework with active development and ecosystem support", "you need the latest model architectures or extensive documentation"], "when_to_choose": ["you want transparent, readable implementations to learn ML fundamentals", "you need educational reference code without heavy framework dependencies", "you're teaching or studying how algorithms like CNNs, k-means, or Q-learning work"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/ml-from-scratch", "repo": "eriklindernoren/ML-From-Scratch", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:57.650169+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T16:51:56.457585+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcc948d7f1dc01db275ff9ccdf1b8215ac4066d5c06673d8f084f4e95544f6ca", "fetched_at": "2026-08-28T04:11:57.650169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eriklindernoren/ML-From-Scratch"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:57.650169+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T16:51:56.457585+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcc948d7f1dc01db275ff9ccdf1b8215ac4066d5c06673d8f084f4e95544f6ca", "fetched_at": "2026-08-28T04:11:57.650169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eriklindernoren/ML-From-Scratch"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T16:51:56.457585+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcc948d7f1dc01db275ff9ccdf1b8215ac4066d5c06673d8f084f4e95544f6ca", "fetched_at": "2026-08-28T04:11:57.650169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eriklindernoren/ML-From-Scratch"}], "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:11:57.650169+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:57.650169+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:57.650169+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T16:51:56.457585+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcc948d7f1dc01db275ff9ccdf1b8215ac4066d5c06673d8f084f4e95544f6ca", "fetched_at": "2026-08-28T04:11:57.650169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eriklindernoren/ML-From-Scratch"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:57.650169+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:57.650169+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T16:51:56.457585+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcc948d7f1dc01db275ff9ccdf1b8215ac4066d5c06673d8f084f4e95544f6ca", "fetched_at": "2026-08-28T04:11:57.650169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eriklindernoren/ML-From-Scratch"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:57.650169+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:57.650169+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:57.650169+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T16:51:56.457585+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcc948d7f1dc01db275ff9ccdf1b8215ac4066d5c06673d8f084f4e95544f6ca", "fetched_at": "2026-08-28T04:11:57.650169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eriklindernoren/ML-From-Scratch"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:57.650169+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:57.650169+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T16:51:56.457585+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcc948d7f1dc01db275ff9ccdf1b8215ac4066d5c06673d8f084f4e95544f6ca", "fetched_at": "2026-08-28T04:11:57.650169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eriklindernoren/ML-From-Scratch"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T16:51:56.457585+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcc948d7f1dc01db275ff9ccdf1b8215ac4066d5c06673d8f084f4e95544f6ca", "fetched_at": "2026-08-28T04:11:57.650169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eriklindernoren/ML-From-Scratch"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T16:51:56.457585+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcc948d7f1dc01db275ff9ccdf1b8215ac4066d5c06673d8f084f4e95544f6ca", "fetched_at": "2026-08-28T04:11:57.650169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eriklindernoren/ML-From-Scratch"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T16:51:56.457585+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcc948d7f1dc01db275ff9ccdf1b8215ac4066d5c06673d8f084f4e95544f6ca", "fetched_at": "2026-08-28T04:11:57.650169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eriklindernoren/ML-From-Scratch"}], "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": 3496, "days_push": 1053, "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}}