{"adoption": {"forks": 584, "observed_at": "2026-08-28T04:05:08.071496+00:00", "stars": 1589}, "canonical_url": "https://ross.abutalabs.com/products/parallel_ml_tutorial", "card": {"archived": false, "artifact_type": "learning-resource", "description": "Tutorial on scikit-learn and IPython for parallel machine learning", "domain": ["machine-learning", "tutorials", "data-science"], "enriched": true, "function": ["machine-learning", "data-science", "benchmarking"], "health_score": 20, "homepage": null, "language": "Jupyter Notebook", "license": null, "license_family": "other", "maturity": "abandoned", "member_repos": ["ogrisel/parallel_ml_tutorial"], "name": "ogrisel/parallel_ml_tutorial", "platform": ["python", "cross-platform"], "pushed_at": "2016-10-04T04:50:13+00:00", "repo": "ogrisel/parallel_ml_tutorial", "stars": 1589, "tags": ["scikit-learn", "ipython", "jupyter-notebook", "parallel-computing", "distributed-computing", "text-classification", "hyperparameter-tuning", "ec2", "starcluster"], "topics": [], "urls": [], "use_cases": ["learn parallel machine learning with scikit-learn", "run cross validation and grid search in parallel with IPython", "scale text classification feature extraction", "set up an IPython cluster on Amazon EC2", "optimize memory usage with numpy memory mapping", "understand common predictive modeling errors"], "what_it_is": "A Jupyter notebook tutorial on parallel machine learning with scikit-learn and IPython, covering scalable feature extraction, parallel cross-validation, and grid search on an IPython cluster. It includes a PyCon 2013 video recording and materials for running clusters on Amazon EC2 spot instances with StarCluster.", "when_to_avoid": ["you need up-to-date tooling (uses IPython 2.x and scikit-learn 0.15)", "you want modern distributed ML (use dask, ray, or joblib instead)", "you need maintained or licensed material (no license, last release 2016)"], "when_to_choose": ["learning scikit-learn parallelism concepts from a guided tutorial", "following along with the PyCon 2013 video course", "studying historical IPython cluster and StarCluster workflows"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/parallel_ml_tutorial", "repo": "ogrisel/parallel_ml_tutorial", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.071496+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:54:58.150117+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "521458c1f76c49d01477d3cff9f8e04ced8a97a23b049630c0112db8ecf41918", "fetched_at": "2026-08-28T04:05:08.071496+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ogrisel/parallel_ml_tutorial"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.071496+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:54:58.150117+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "521458c1f76c49d01477d3cff9f8e04ced8a97a23b049630c0112db8ecf41918", "fetched_at": "2026-08-28T04:05:08.071496+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ogrisel/parallel_ml_tutorial"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:54:58.150117+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "521458c1f76c49d01477d3cff9f8e04ced8a97a23b049630c0112db8ecf41918", "fetched_at": "2026-08-28T04:05:08.071496+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ogrisel/parallel_ml_tutorial"}], "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:05:08.071496+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.071496+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.071496+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:54:58.150117+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "521458c1f76c49d01477d3cff9f8e04ced8a97a23b049630c0112db8ecf41918", "fetched_at": "2026-08-28T04:05:08.071496+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ogrisel/parallel_ml_tutorial"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.071496+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.071496+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:54:58.150117+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "521458c1f76c49d01477d3cff9f8e04ced8a97a23b049630c0112db8ecf41918", "fetched_at": "2026-08-28T04:05:08.071496+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ogrisel/parallel_ml_tutorial"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.071496+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.071496+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.071496+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:54:58.150117+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "521458c1f76c49d01477d3cff9f8e04ced8a97a23b049630c0112db8ecf41918", "fetched_at": "2026-08-28T04:05:08.071496+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ogrisel/parallel_ml_tutorial"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.071496+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.071496+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:54:58.150117+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "521458c1f76c49d01477d3cff9f8e04ced8a97a23b049630c0112db8ecf41918", "fetched_at": "2026-08-28T04:05:08.071496+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ogrisel/parallel_ml_tutorial"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:54:58.150117+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "521458c1f76c49d01477d3cff9f8e04ced8a97a23b049630c0112db8ecf41918", "fetched_at": "2026-08-28T04:05:08.071496+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ogrisel/parallel_ml_tutorial"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:54:58.150117+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "521458c1f76c49d01477d3cff9f8e04ced8a97a23b049630c0112db8ecf41918", "fetched_at": "2026-08-28T04:05:08.071496+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ogrisel/parallel_ml_tutorial"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:54:58.150117+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "521458c1f76c49d01477d3cff9f8e04ced8a97a23b049630c0112db8ecf41918", "fetched_at": "2026-08-28T04:05:08.071496+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ogrisel/parallel_ml_tutorial"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4983, "days_push": 3620, "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}}