{"id":37079414,"url":"https://github.com/leffff/fast-ensemble","last_synced_at":"2026-01-14T09:36:43.120Z","repository":{"id":58451259,"uuid":"528589023","full_name":"leffff/fast-ensemble","owner":"leffff","description":"Library for high level model ensembling","archived":false,"fork":false,"pushed_at":"2023-01-27T01:39:58.000Z","size":43,"stargazers_count":12,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-29T19:21:43.458Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leffff.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-08-24T20:46:30.000Z","updated_at":"2024-02-11T07:00:18.000Z","dependencies_parsed_at":"2023-02-15T03:47:03.687Z","dependency_job_id":null,"html_url":"https://github.com/leffff/fast-ensemble","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/leffff/fast-ensemble","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leffff%2Ffast-ensemble","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leffff%2Ffast-ensemble/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leffff%2Ffast-ensemble/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leffff%2Ffast-ensemble/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leffff","download_url":"https://codeload.github.com/leffff/fast-ensemble/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leffff%2Ffast-ensemble/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28416120,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T08:38:59.149Z","status":"ssl_error","status_checked_at":"2026-01-14T08:38:43.588Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2026-01-14T09:36:42.428Z","updated_at":"2026-01-14T09:36:43.112Z","avatar_url":"https://github.com/leffff.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![PyPI version](https://img.shields.io/pypi/v/fast-ensemble.svg?colorB=4cc61e)](https://pypi.org/project/fast-ensemble/) \n[![PyPI license](https://img.shields.io/pypi/l/fast-ensemble.svg)](https://github.com/leffff/fast-ensemble/blob/main/LICENSE)\n[![PyPI pyversions](https://img.shields.io/pypi/pyversions/fast-ensemble.svg)](https://pypi.python.org/pypi/fast-ensemble/)\n\n# fast-ensemble\nScikit-learn-style library for effecient and convenient high level table model ensembling\n\n---\n## Usage Example:\n\nInitialize Stack\n```python\nfrom catboost import CatBoostRegressor\nfrom lightgbm import LGBMRegressor\nfrom sklearn.datasets import make_regression\nfrom sklearn.ensemble import GradientBoostingRegressor\nfrom sklearn.metrics import mean_squared_error\nfrom xgboost import XGBRegressor\n\nfrom fast_ensemble import StackingTransformer\nfrom fast_ensemble import (\n    CatBoostRegressorWrapper,\n    LGBMRegressorWrapper,\n    XGBRegressorWrapper,\n)\n\nstack_1 = StackingTransformer(\n    models=[\n        (\n            \"catboost\",\n            CatBoostRegressorWrapper(\n                CatBoostRegressor(verbose=0),\n                use_best_model=True,\n                early_stopping_rounds=100,\n            ),\n        ),\n        (\n            \"xgboost\",\n            XGBRegressorWrapper(\n                XGBRegressor(), use_best_model=True, early_stopping_rounds=100\n            ),\n        ),\n        (\n            \"lgmb\",\n            LGBMRegressorWrapper(\n                LGBMRegressor(), use_best_model=True, early_stopping_rounds=100\n            ),\n        ),\n        (\"boosting\", GradientBoostingRegressor()),\n    ],\n    main_metric=mean_squared_error,\n    regression=True,\n    n_folds=5,\n    random_state=None,\n    shuffle=False,\n    verbose=True,\n    stratified=True,\n    stratification_bins=7\n)\n```\nAnd another one\n\n```python\nstack_2 = StackingTransformer(\n    models=[\n        (\"Dummy Regressor\", DummyRegressor()),\n    ],\n    main_metric=mean_squared_error,\n    regression=True,\n    n_folds=5,\n    random_state=None,\n    shuffle=False,\n    verbose=True,\n    stratified=True,\n    stratification_bins=7\n)\n```\nTrain your stacks (and get transformed dataframes)\n```python\nX, y = make_regression(n_targets=1)\n\nX_1_trans = stack_1.fit_transform(X, y)\nX_2_trans = stack_2.fit_transform(X, y)\n```\nWant to merge 2 stacks for convenience? Here you go!\n```python\nstack_1.merge(stack_2)\n\nstack_1.get_scores(prettified=True)\n\n       catboost       xgboost          lgmb      boosting  Dummy Regressor\n0   9852.055535  23389.781003   8872.055479  13130.504063    21344.359900\n1  14259.407424  20177.587908  12040.548492  14088.529604    28620.260635\n2  16393.254421  24267.409682   9503.011118  15067.349045    33377.287468\n3  12694.791124  16349.931831   7188.301326  10675.853608    29510.019041\n4  17505.264716  12158.834533  10273.547605   9621.041119    39099.670810\n```\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleffff%2Ffast-ensemble","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleffff%2Ffast-ensemble","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleffff%2Ffast-ensemble/lists"}