{"adoption": {"forks": 130, "observed_at": "2026-08-28T04:04:52.400972+00:00", "stars": 1490}, "canonical_url": "https://ross.abutalabs.com/products/decisiontree", "card": {"archived": false, "artifact_type": "library", "description": "ID3-based implementation of the ML Decision Tree algorithm", "domain": ["machine-learning", "data-science"], "enriched": true, "function": ["machine-learning"], "health_score": 20, "homepage": null, "language": "Ruby", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["igrigorik/decisiontree"], "name": "igrigorik/decisiontree", "platform": ["ruby"], "pushed_at": "2018-10-31T15:22:42+00:00", "repo": "igrigorik/decisiontree", "stars": 1490, "tags": ["decision-tree", "id3", "c45", "bagging", "graphviz-visualization", "classification"], "topics": ["rubyml", "decision-tree", "ruby", "machine-learning"], "urls": [], "use_cases": ["train a decision tree classifier in ruby", "classify records with id3 algorithm", "learn from continuous and discrete datasets", "visualize a decision tree as a png with graphviz", "build a bagging ensemble of decision trees", "convert a trained tree into pruned rules"], "what_it_is": "A Ruby library implementing the ID3 decision tree learning algorithm for both continuous and discrete datasets, with rule pruning (C4.5-style) and bagging support. It includes a Graphviz component for visualizing learned trees.", "when_to_avoid": ["you need modern ML features like gradient boosting, deep learning, or GPU acceleration", "you need actively maintained software with recent updates and security patches", "you're not working in Ruby", "you need scalable training on very large datasets"], "when_to_choose": ["you're working in Ruby and need a simple, lightweight decision tree classifier", "you want interpretable models with tree visualization via Graphviz", "your dataset is small to medium and you need ID3/C4.5-style learning"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/decisiontree", "repo": "igrigorik/decisiontree", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.400972+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:33:37.320469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82b9a44d66d18d6f63bcc1665a6bdb5eb319446f83934ac9af924b58984235ca", "fetched_at": "2026-08-28T04:04:52.400972+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igrigorik/decisiontree"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.400972+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:33:37.320469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82b9a44d66d18d6f63bcc1665a6bdb5eb319446f83934ac9af924b58984235ca", "fetched_at": "2026-08-28T04:04:52.400972+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igrigorik/decisiontree"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:33:37.320469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82b9a44d66d18d6f63bcc1665a6bdb5eb319446f83934ac9af924b58984235ca", "fetched_at": "2026-08-28T04:04:52.400972+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igrigorik/decisiontree"}], "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:04:52.400972+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.400972+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.400972+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:33:37.320469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82b9a44d66d18d6f63bcc1665a6bdb5eb319446f83934ac9af924b58984235ca", "fetched_at": "2026-08-28T04:04:52.400972+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igrigorik/decisiontree"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.400972+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.400972+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:33:37.320469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82b9a44d66d18d6f63bcc1665a6bdb5eb319446f83934ac9af924b58984235ca", "fetched_at": "2026-08-28T04:04:52.400972+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igrigorik/decisiontree"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.400972+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.400972+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.400972+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:33:37.320469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82b9a44d66d18d6f63bcc1665a6bdb5eb319446f83934ac9af924b58984235ca", "fetched_at": "2026-08-28T04:04:52.400972+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igrigorik/decisiontree"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.400972+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.400972+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:33:37.320469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82b9a44d66d18d6f63bcc1665a6bdb5eb319446f83934ac9af924b58984235ca", "fetched_at": "2026-08-28T04:04:52.400972+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igrigorik/decisiontree"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:33:37.320469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82b9a44d66d18d6f63bcc1665a6bdb5eb319446f83934ac9af924b58984235ca", "fetched_at": "2026-08-28T04:04:52.400972+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igrigorik/decisiontree"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:33:37.320469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82b9a44d66d18d6f63bcc1665a6bdb5eb319446f83934ac9af924b58984235ca", "fetched_at": "2026-08-28T04:04:52.400972+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igrigorik/decisiontree"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:33:37.320469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82b9a44d66d18d6f63bcc1665a6bdb5eb319446f83934ac9af924b58984235ca", "fetched_at": "2026-08-28T04:04:52.400972+00:00", "kind": "readme", "missing": false, "url": "https://github.com/igrigorik/decisiontree"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+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": 6400, "days_push": 2863, "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}}