{"id":13493608,"url":"https://github.com/shankarpandala/lazypredict","last_synced_at":"2026-10-28T20:23:24.542Z","repository":{"id":36175044,"uuid":"222079167","full_name":"shankarpandala/lazypredict","owner":"shankarpandala","description":"Python AutoML toolkit for benchmarking classification, regression, and time-series forecasting models, with GPU acceleration, MLflow tracking, and automated preprocessing.","archived":false,"fork":false,"pushed_at":"2026-09-13T04:13:13.000Z","size":26325,"stargazers_count":3349,"open_issues_count":2,"forks_count":365,"subscribers_count":25,"default_branch":"dev","last_synced_at":"2026-10-22T20:17:02.898Z","etag":null,"topics":["automl","classification","machine-learning","regression"],"latest_commit_sha":null,"homepage":"","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/shankarpandala.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"accessibility":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"github":["shankarpandala"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2019-11-16T09:56:35.000Z","updated_at":"2026-10-22T16:58:52.000Z","dependencies_parsed_at":"2026-10-22T20:27:05.841Z","dependency_job_id":null,"html_url":"https://github.com/shankarpandala/lazypredict","commit_stats":{"total_commits":185,"total_committers":20,"mean_commits":9.25,"dds":0.5945945945945945,"last_synced_commit":"aad245d602f080575d05ec68750fa9c229aeea30"},"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/shankarpandala/lazypredict","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shankarpandala%2Flazypredict","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shankarpandala%2Flazypredict/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shankarpandala%2Flazypredict/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shankarpandala%2Flazypredict/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shankarpandala","download_url":"https://codeload.github.com/shankarpandala/lazypredict/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shankarpandala%2Flazypredict/sbom","scorecard":{"id":227781,"data":{"date":"2025-08-04","repo":{"name":"github.com/shankarpandala/lazypredict","commit":"38608b8831c33102266f4bbc4cf902d8c3abb174"},"scorecard":{"version":"v5.2.1-28-gc1d103a9","commit":"c1d103a9bb9f635ec7260bf9aa0699466fa4be0e"},"score":4.8,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/9 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#binary-artifacts"}},{"name":"Maintained","score":10,"reason":"2 commit(s) and 28 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#maintained"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/shankarpandala/lazypredict/ci.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/shankarpandala/lazypredict/ci.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/shankarpandala/lazypredict/codeql-analysis.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/shankarpandala/lazypredict/codeql-analysis.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/shankarpandala/lazypredict/codeql-analysis.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/shankarpandala/lazypredict/codeql-analysis.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:9: update your workflow using https://app.stepsecurity.io/secureworkflow/shankarpandala/lazypredict/docs.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/shankarpandala/lazypredict/docs.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/shankarpandala/lazypredict/docs.yml/dev?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docs.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/shankarpandala/lazypredict/docs.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/shankarpandala/lazypredict/publish.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/shankarpandala/lazypredict/publish.yml/dev?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/shankarpandala/lazypredict/publish.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/update_citations.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/shankarpandala/lazypredict/update_citations.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/update_citations.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/shankarpandala/lazypredict/update_citations.yml/dev?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:36","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:37","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:48","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:49","Warn: pipCommand not pinned by hash: .github/workflows/docs.yml:18","Warn: pipCommand not pinned by hash: .github/workflows/docs.yml:19","Warn: pipCommand not pinned by hash: .github/workflows/docs.yml:20","Warn: pipCommand not pinned by hash: .github/workflows/publish.yml:28","Warn: pipCommand not pinned by hash: .github/workflows/publish.yml:29","Warn: pipCommand not pinned by hash: .github/workflows/update_citations.yml:24","Info:   0 out of  13 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of  10 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/update_citations.yml:12","Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1","Warn: no topLevel permission defined: .github/workflows/docs.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/publish.yml:8","Warn: no topLevel permission defined: .github/workflows/update_citations.yml:1"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#signed-releases"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/publish.yml:12"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#packaging"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during GetBranch(master): error during branchesHandler.query: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#branch-protection"}},{"name":"SAST","score":9,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 24 commits out of 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"59 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: GHSA-9wx4-h78v-vm56","Warn: Project is vulnerable to: PYSEC-2022-288 / GHSA-6hrg-qmvc-2xh8","Warn: Project is vulnerable to: PYSEC-2024-231","Warn: Project is vulnerable to: PYSEC-2024-241 / GHSA-3v79-q7ph-j75h","Warn: Project is vulnerable to: GHSA-43c4-9qgj-x742","Warn: Project is vulnerable to: GHSA-49m6-vrr9-2cqm","Warn: Project is vulnerable to: GHSA-4qq5-mxxx-m6gg","Warn: Project is vulnerable to: PYSEC-2025-17 / GHSA-4rj2-9gcx-5qhx","Warn: Project is vulnerable to: GHSA-4rqf-8pfm-p36r","Warn: Project is vulnerable to: PYSEC-2023-253 / GHSA-554w-xh4j-8w64","Warn: Project is vulnerable to: GHSA-59v3-898r-qwhj","Warn: Project is vulnerable to: GHSA-5mvj-wmgj-7q8c","Warn: Project is vulnerable to: GHSA-5p3h-7fwh-92rc","Warn: Project is vulnerable to: PYSEC-2024-239 / GHSA-5q6c-ffvg-xcm9","Warn: Project is vulnerable to: PYSEC-2023-252 / GHSA-5r3q-93q3-f978","Warn: Project is vulnerable to: PYSEC-2024-240 / GHSA-6749-m5cp-6cg7","Warn: Project is vulnerable to: GHSA-76cg-cfhx-373f","Warn: Project is vulnerable to: GHSA-7p8j-qv6x-f4g4","Warn: Project is vulnerable to: GHSA-83fm-w79m-64r5","Warn: Project is vulnerable to: GHSA-8f8q-q2j7-7j2m","Warn: Project is vulnerable to: GHSA-cv6c-7963-wxcg","Warn: Project is vulnerable to: PYSEC-2023-281 / GHSA-cxfr-5q3r-2rc2","Warn: Project is vulnerable to: GHSA-f42m-mvfv-cgw5","Warn: Project is vulnerable to: GHSA-f798-qm4r-23r5","Warn: Project is vulnerable to: GHSA-f82r-jj5r-6g97","Warn: Project is vulnerable to: PYSEC-2023-280 / GHSA-ffw3-6378-cqgp","Warn: Project is vulnerable to: PYSEC-2023-308 / GHSA-fmxj-6h9g-6vw3","Warn: Project is vulnerable to: GHSA-ghv6-9r9j-wh4j","Warn: Project is vulnerable to: GHSA-hh8p-p8mp-gqhm","Warn: Project is vulnerable to: PYSEC-2024-243 / GHSA-hq88-wg7q-gp4g","Warn: Project is vulnerable to: GHSA-hvc6-42vf-jhf8","Warn: Project is vulnerable to: PYSEC-2024-242 / GHSA-j46q-5pxx-8vmw","Warn: Project is vulnerable to: GHSA-j62r-wxqq-f3gf","Warn: Project is vulnerable to: GHSA-j8mg-pqc5-x9gj","Warn: Project is vulnerable to: GHSA-m49c-5c52-6696","Warn: Project is vulnerable to: GHSA-p4jx-q62p-x5jr","Warn: Project is vulnerable to: GHSA-pqcv-qw2r-r859","Warn: Project is vulnerable to: GHSA-q3gw-8236-5jw4","Warn: Project is vulnerable to: GHSA-qg8p-32gr-gh6x","Warn: Project is vulnerable to: PYSEC-2024-224 / GHSA-qpgc-w4mg-6v92","Warn: Project is vulnerable to: PYSEC-2023-309 / GHSA-v945-r3rc-6fjm","Warn: Project is vulnerable to: PYSEC-2023-260 / GHSA-vwhf-3v6x-wff8","Warn: Project is vulnerable to: GHSA-wf7f-8fxf-xfxc","Warn: Project is vulnerable to: PYSEC-2023-69 / GHSA-wjq3-7jxx-whj9","Warn: Project is vulnerable to: PYSEC-2023-28 / GHSA-wp72-7hj9-5265","Warn: Project is vulnerable to: GHSA-wqxf-447m-6f5f","Warn: Project is vulnerable to: GHSA-wv8q-4f85-2p8p","Warn: Project is vulnerable to: PYSEC-2025-52 / GHSA-wxj7-3fx5-pp9m","Warn: Project is vulnerable to: GHSA-x38x-g6gr-jqff","Warn: Project is vulnerable to: PYSEC-2023-68 / GHSA-x422-6qhv-p29g","Warn: Project is vulnerable to: GHSA-xg73-94fp-g449","Warn: Project is vulnerable to: PYSEC-2023-70","Warn: Project is vulnerable to: PYSEC-2024-244","Warn: Project is vulnerable to: PYSEC-2020-73","Warn: Project is vulnerable to: PYSEC-2020-107 / GHSA-jjw5-xxj6-pcv5","Warn: Project is vulnerable to: PYSEC-2024-110 / GHSA-jw8x-6495-233v","Warn: Project is vulnerable to: PYSEC-2020-108","Warn: Project is vulnerable to: PYSEC-2017-74"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-17T04:09:22.112Z","repository_id":36175044,"created_at":"2025-08-17T04:09:22.112Z","updated_at":"2025-08-17T04:09:22.112Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":345237552,"owners_count":38493953,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-24T02:00:07.043Z","response_time":103,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["automl","classification","machine-learning","regression"],"created_at":"2024-07-31T19:01:17.063Z","updated_at":"2026-10-24T20:06:26.392Z","avatar_url":"https://github.com/shankarpandala.png","language":"Python","funding_links":["https://github.com/sponsors/shankarpandala"],"categories":["Uncategorized","Python","Machine Learning","超参数优化和AutoML"],"sub_categories":["Uncategorized"],"readme":"# Lazy Predict\n\n[![image](https://img.shields.io/pypi/v/lazypredict.svg)](https://pypi.python.org/pypi/lazypredict)\n[![Publish](https://github.com/shankarpandala/lazypredict/actions/workflows/publish.yml/badge.svg)](https://github.com/shankarpandala/lazypredict/actions/workflows/publish.yml)\n[![Documentation](https://github.com/shankarpandala/lazypredict/actions/workflows/docs.yml/badge.svg)](https://shankarpandala.github.io/lazypredict/)\n[![Downloads](https://pepy.tech/badge/lazypredict)](https://pepy.tech/project/lazypredict)\n[![CodeFactor](https://www.codefactor.io/repository/github/shankarpandala/lazypredict/badge)](https://www.codefactor.io/repository/github/shankarpandala/lazypredict)\n[![Citations](https://img.shields.io/badge/Citations-43-blue)](https://scholar.google.com/scholar?oi=bibs\u0026hl=en\u0026cites=4325808232671020176,16284230108871951652\u0026as_sdt=5)\n\nLazy Predict helps build a lot of basic models without much code and helps understand which models work better without any parameter tuning.\n\n- Free software: MIT license\n- Documentation: \u003chttps://shankarpandala.github.io/lazypredict/\u003e\n\n## Features\n- Over 40 built-in machine learning models\n- Automatic model selection for classification, regression, and **time series forecasting**\n- **20+ forecasting models**: statistical (ETS, ARIMA, Theta), ML (Random Forest, XGBoost, etc.), deep learning (LSTM, GRU), and pretrained foundation models (TimesFM)\n- Automatic seasonal period detection via ACF\n- Multiple categorical encoding strategies (OneHot, Ordinal, Target, Binary)\n- Built-in MLflow integration for experiment tracking\n- **GPU acceleration**: XGBoost, LightGBM, CatBoost, cuML (RAPIDS), LSTM/GRU, TimesFM\n- Support for Python 3.9 through 3.13\n- Custom metric evaluation support\n- Configurable timeout and cross-validation\n- Intel Extension for Scikit-learn acceleration support\n\n## Installation\n\n### pip (PyPI)\n\n```bash\npip install lazypredict\n```\n\n### conda (conda-forge)\n\n```bash\nconda install -c conda-forge lazypredict\n```\n\n### Optional extras (pip only)\n\nInstall with boosting libraries (XGBoost, LightGBM, CatBoost):\n\n```bash\npip install lazypredict[boost]\n```\n\nInstall with time series forecasting support:\n\n```bash\npip install lazypredict[timeseries]          # statsmodels + pmdarima\npip install lazypredict[timeseries,deeplearning]  # + LSTM/GRU via PyTorch\npip install lazypredict[timeseries,foundation]    # + Google TimesFM (Python 3.10-3.11)\n```\n\nInstall with all optional dependencies:\n\n```bash\npip install lazypredict[all]\n```\n\n## Usage\n\nTo use Lazy Predict in a project:\n\n```python\nimport lazypredict\n```\n\n## Classification\n\nExample:\n\n```python\nfrom lazypredict.Supervised import LazyClassifier\nfrom sklearn.datasets import load_breast_cancer\nfrom sklearn.model_selection import train_test_split\n\ndata = load_breast_cancer()\nX = data.data\ny = data.target\n\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5, random_state=123)\n\nclf = LazyClassifier(verbose=0, ignore_warnings=True, custom_metric=None)\nmodels, predictions = clf.fit(X_train, X_test, y_train, y_test)\n\nprint(models)\n```\n\n### Advanced Options\n\n```python\n# With categorical encoding, timeout, cross-validation, and GPU\nclf = LazyClassifier(\n    verbose=1,                          # Show progress\n    ignore_warnings=True,               # Suppress warnings\n    custom_metric=None,                 # Use default metrics\n    predictions=True,                   # Return predictions\n    classifiers='all',                  # Use all available classifiers\n    categorical_encoder='onehot',       # Encoding: 'onehot', 'ordinal', 'target', 'binary'\n    timeout=60,                         # Max time per model in seconds\n    cv=5,                               # Cross-validation folds (optional)\n    use_gpu=True                        # Enable GPU acceleration\n)\nmodels, predictions = clf.fit(X_train, X_test, y_train, y_test)\n```\n\n**Parameters:**\n- `verbose` (int): 0 for silent, 1 for progress display\n- `ignore_warnings` (bool): Suppress scikit-learn warnings\n- `custom_metric` (callable): Custom evaluation metric\n- `predictions` (bool): Return prediction DataFrame\n- `classifiers` (str/list): 'all' or list of classifier names\n- `categorical_encoder` (str): Encoding strategy for categorical features\n  - `'onehot'`: One-hot encoding (default)\n  - `'ordinal'`: Ordinal encoding\n  - `'target'`: Target encoding (requires `category-encoders`)\n  - `'binary'`: Binary encoding (requires `category-encoders`)\n- `timeout` (int): Maximum seconds per model (None for no limit)\n- `cv` (int): Number of cross-validation folds (None to disable)\n- `use_gpu` (bool): Enable GPU acceleration for supported models (default False)\n\n| Model                          |   Accuracy |   Balanced Accuracy |   ROC AUC |   F1 Score |   Time Taken |\n|:-------------------------------|-----------:|--------------------:|----------:|-----------:|-------------:|\n| LinearSVC                      |   0.989474 |            0.987544 |  0.987544 |   0.989462 |    0.0150008 |\n| SGDClassifier                  |   0.989474 |            0.987544 |  0.987544 |   0.989462 |    0.0109992 |\n| MLPClassifier                  |   0.985965 |            0.986904 |  0.986904 |   0.985994 |    0.426     |\n| Perceptron                     |   0.985965 |            0.984797 |  0.984797 |   0.985965 |    0.0120046 |\n| LogisticRegression             |   0.985965 |            0.98269  |  0.98269  |   0.985934 |    0.0200036 |\n| LogisticRegressionCV           |   0.985965 |            0.98269  |  0.98269  |   0.985934 |    0.262997  |\n| SVC                            |   0.982456 |            0.979942 |  0.979942 |   0.982437 |    0.0140011 |\n| CalibratedClassifierCV         |   0.982456 |            0.975728 |  0.975728 |   0.982357 |    0.0350015 |\n| PassiveAggressiveClassifier    |   0.975439 |            0.974448 |  0.974448 |   0.975464 |    0.0130005 |\n| LabelPropagation               |   0.975439 |            0.974448 |  0.974448 |   0.975464 |    0.0429988 |\n| LabelSpreading                 |   0.975439 |            0.974448 |  0.974448 |   0.975464 |    0.0310006 |\n| RandomForestClassifier         |   0.97193  |            0.969594 |  0.969594 |   0.97193  |    0.033     |\n| GradientBoostingClassifier     |   0.97193  |            0.967486 |  0.967486 |   0.971869 |    0.166998  |\n| QuadraticDiscriminantAnalysis  |   0.964912 |            0.966206 |  0.966206 |   0.965052 |    0.0119994 |\n| HistGradientBoostingClassifier |   0.968421 |            0.964739 |  0.964739 |   0.968387 |    0.682003  |\n| RidgeClassifierCV              |   0.97193  |            0.963272 |  0.963272 |   0.971736 |    0.0130029 |\n| RidgeClassifier                |   0.968421 |            0.960525 |  0.960525 |   0.968242 |    0.0119977 |\n| AdaBoostClassifier             |   0.961404 |            0.959245 |  0.959245 |   0.961444 |    0.204998  |\n| ExtraTreesClassifier           |   0.961404 |            0.957138 |  0.957138 |   0.961362 |    0.0270066 |\n| KNeighborsClassifier           |   0.961404 |            0.95503  |  0.95503  |   0.961276 |    0.0560005 |\n| BaggingClassifier              |   0.947368 |            0.954577 |  0.954577 |   0.947882 |    0.0559971 |\n| BernoulliNB                    |   0.950877 |            0.951003 |  0.951003 |   0.951072 |    0.0169988 |\n| LinearDiscriminantAnalysis     |   0.961404 |            0.950816 |  0.950816 |   0.961089 |    0.0199995 |\n| GaussianNB                     |   0.954386 |            0.949536 |  0.949536 |   0.954337 |    0.0139935 |\n| NuSVC                          |   0.954386 |            0.943215 |  0.943215 |   0.954014 |    0.019989  |\n| DecisionTreeClassifier         |   0.936842 |            0.933693 |  0.933693 |   0.936971 |    0.0170023 |\n| NearestCentroid                |   0.947368 |            0.933506 |  0.933506 |   0.946801 |    0.0160074 |\n| ExtraTreeClassifier            |   0.922807 |            0.912168 |  0.912168 |   0.922462 |    0.0109999 |\n| CheckingClassifier             |   0.361404 |            0.5      |  0.5      |   0.191879 |    0.0170043 |\n| DummyClassifier                |   0.512281 |            0.489598 |  0.489598 |   0.518924 |    0.0119965 |\n\n## Regression\n\nExample:\n\n```python\nfrom lazypredict.Supervised import LazyRegressor\nfrom sklearn import datasets\nfrom sklearn.utils import shuffle\nimport numpy as np\n\ndiabetes  = datasets.load_diabetes()\nX, y = shuffle(diabetes.data, diabetes.target, random_state=13)\nX = X.astype(np.float32)\n\noffset = int(X.shape[0] * 0.9)\n\nX_train, y_train = X[:offset], y[:offset]\nX_test, y_test = X[offset:], y[offset:]\n\nreg = LazyRegressor(verbose=0, ignore_warnings=False, custom_metric=None)\nmodels, predictions = reg.fit(X_train, X_test, y_train, y_test)\n\nprint(models)\n```\n\n### Advanced Options\n\n```python\n# With categorical encoding, timeout, and GPU\nreg = LazyRegressor(\n    verbose=1,                          # Show progress\n    ignore_warnings=True,               # Suppress warnings\n    custom_metric=None,                 # Use default metrics\n    predictions=True,                   # Return predictions\n    regressors='all',                   # Use all available regressors\n    categorical_encoder='ordinal',      # Encoding: 'onehot', 'ordinal', 'target', 'binary'\n    timeout=120,                        # Max time per model in seconds\n    use_gpu=True                        # Enable GPU acceleration\n)\nmodels, predictions = reg.fit(X_train, X_test, y_train, y_test)\n```\n\n**Parameters:**\n- `verbose` (int): 0 for silent, 1 for progress display\n- `ignore_warnings` (bool): Suppress scikit-learn warnings\n- `custom_metric` (callable): Custom evaluation metric\n- `predictions` (bool): Return prediction DataFrame\n- `regressors` (str/list): 'all' or list of regressor names\n- `categorical_encoder` (str): Encoding strategy for categorical features\n  - `'onehot'`: One-hot encoding (default)\n  - `'ordinal'`: Ordinal encoding\n  - `'target'`: Target encoding (requires `category-encoders`)\n  - `'binary'`: Binary encoding (requires `category-encoders`)\n- `timeout` (int): Maximum seconds per model (None for no limit)\n- `use_gpu` (bool): Enable GPU acceleration for supported models (default False)\n\n| Model                         |   Adjusted R-Squared |   R-Squared |     RMSE |   Time Taken |\n|:------------------------------|---------------------:|------------:|---------:|-------------:|\n| ExtraTreesRegressor           |           0.378921   |  0.520076   |  54.2202 |   0.121466   |\n| OrthogonalMatchingPursuitCV   |           0.374947   |  0.517004   |  54.3934 |   0.0111742  |\n| Lasso                         |           0.373483   |  0.515873   |  54.457  |   0.00620174 |\n| LassoLars                     |           0.373474   |  0.515866   |  54.4575 |   0.0087235  |\n| LarsCV                        |           0.3715     |  0.514341   |  54.5432 |   0.0160234  |\n| LassoCV                       |           0.370413   |  0.513501   |  54.5903 |   0.0624897  |\n| PassiveAggressiveRegressor    |           0.366958   |  0.510831   |  54.7399 |   0.00689793 |\n| LassoLarsIC                   |           0.364984   |  0.509306   |  54.8252 |   0.0108321  |\n| SGDRegressor                  |           0.364307   |  0.508783   |  54.8544 |   0.0055306  |\n| RidgeCV                       |           0.363002   |  0.507774   |  54.9107 |   0.00728202 |\n| Ridge                         |           0.363002   |  0.507774   |  54.9107 |   0.00556874 |\n| BayesianRidge                 |           0.362296   |  0.507229   |  54.9411 |   0.0122972  |\n| LassoLarsCV                   |           0.361749   |  0.506806   |  54.9646 |   0.0175984  |\n| TransformedTargetRegressor    |           0.361749   |  0.506806   |  54.9646 |   0.00604773 |\n| LinearRegression              |           0.361749   |  0.506806   |  54.9646 |   0.00677514 |\n| Lars                          |           0.358828   |  0.504549   |  55.0903 |   0.00935149 |\n| ElasticNetCV                  |           0.356159   |  0.502486   |  55.2048 |   0.0478678  |\n| HuberRegressor                |           0.355251   |  0.501785   |  55.2437 |   0.0129263  |\n| RandomForestRegressor         |           0.349621   |  0.497434   |  55.4844 |   0.2331     |\n| AdaBoostRegressor             |           0.340416   |  0.490322   |  55.8757 |   0.0512381  |\n| LGBMRegressor                 |           0.339239   |  0.489412   |  55.9255 |   0.0396187  |\n| HistGradientBoostingRegressor |           0.335632   |  0.486625   |  56.0779 |   0.0897055  |\n| PoissonRegressor              |           0.323033   |  0.476889   |  56.6072 |   0.00953603 |\n| ElasticNet                    |           0.301755   |  0.460447   |  57.4899 |   0.00604224 |\n| KNeighborsRegressor           |           0.299855   |  0.458979   |  57.5681 |   0.00757337 |\n| OrthogonalMatchingPursuit     |           0.292421   |  0.453235   |  57.8729 |   0.00709486 |\n| BaggingRegressor              |           0.291213   |  0.452301   |  57.9223 |   0.0302746  |\n| GradientBoostingRegressor     |           0.247009   |  0.418143   |  59.7011 |   0.136803   |\n| TweedieRegressor              |           0.244215   |  0.415984   |  59.8118 |   0.00633955 |\n| XGBRegressor                  |           0.224263   |  0.400567   |  60.5961 |   0.339694   |\n| GammaRegressor                |           0.223895   |  0.400283   |  60.6105 |   0.0235181  |\n| RANSACRegressor               |           0.203535   |  0.38455    |  61.4004 |   0.0653253  |\n| LinearSVR                     |           0.116707   |  0.317455   |  64.6607 |   0.0077076  |\n| ExtraTreeRegressor            |           0.00201902 |  0.228833   |  68.7304 |   0.00626636 |\n| NuSVR                         |          -0.0667043  |  0.175728   |  71.0575 |   0.0143399  |\n| SVR                           |          -0.0964128  |  0.152772   |  72.0402 |   0.0114729  |\n| DummyRegressor                |          -0.297553   | -0.00265478 |  78.3701 |   0.00592971 |\n| DecisionTreeRegressor         |          -0.470263   | -0.136112   |  83.4229 |   0.00749898 |\n| GaussianProcessRegressor      |          -0.769174   | -0.367089   |  91.5109 |   0.0770502  |\n| MLPRegressor                  |          -1.86772    | -1.21597    | 116.508  |   0.235267   |\n| KernelRidge                   |          -5.03822    | -3.6659     | 169.061  |   0.0243919  |\n\n## Time Series Forecasting\n\nLazyForecaster benchmarks 20+ forecasting models on your time series in a single call:\n\n```python\nimport numpy as np\nfrom lazypredict.TimeSeriesForecasting import LazyForecaster\n\n# Generate sample data (or use your own)\nnp.random.seed(42)\nt = np.arange(200)\ny = 10 + 0.05 * t + 3 * np.sin(2 * np.pi * t / 12) + np.random.normal(0, 1, 200)\n\ny_train, y_test = y[:180], y[180:]\n\nfcst = LazyForecaster(verbose=0, ignore_warnings=True)\nscores, predictions = fcst.fit(y_train, y_test)\nprint(scores)\n```\n\n| Model                         |     MAE |    RMSE |   MAPE |   SMAPE |    MASE | R-Squared | Time Taken |\n|:------------------------------|--------:|--------:|-------:|--------:|--------:|----------:|-----------:|\n| Holt                          | 0.8532  | 1.0285  | 6.3241 | 6.1758  | 0.6993  |  0.7218   |     0.03   |\n| SARIMAX                       | 0.8791  | 1.0601  | 6.5012 | 6.3414  | 0.7205  |  0.7045   |     0.12   |\n| Ridge_TS                      | 0.9124  | 1.0843  | 6.7523 | 6.5721  | 0.7478  |  0.6912   |     0.01   |\n| ...                           |   ...   |   ...   |  ...   |   ...   |   ...   |    ...    |     ...    |\n\n### With Exogenous Variables\n\n```python\n# Optional exogenous features\nX_train = np.column_stack([np.sin(t[:180]), np.cos(t[:180])])\nX_test = np.column_stack([np.sin(t[180:]), np.cos(t[180:])])\n\nscores, predictions = fcst.fit(y_train, y_test, X_train, X_test)\n```\n\n### Advanced Options\n\n```python\nfcst = LazyForecaster(\n    verbose=1,                          # Show progress\n    ignore_warnings=True,               # Suppress model errors\n    predictions=True,                   # Return forecast values\n    seasonal_period=12,                 # Override auto-detection\n    cv=3,                               # Time series cross-validation\n    timeout=30,                         # Max seconds per model\n    sort_by=\"RMSE\",                     # Sort metric (MAE, MAPE, SMAPE, MASE, R-Squared)\n    forecasters=\"all\",                  # Or list: [\"Holt\", \"AutoARIMA\", \"LSTM_TS\"]\n    max_models=10,                      # Limit number of models\n    use_gpu=True,                       # GPU acceleration for supported models\n    foundation_model_path=\"/path/to/timesfm-weights\",  # Local model weights (offline)\n)\nscores, predictions = fcst.fit(y_train, y_test)\n```\n\n**Parameters:**\n- `verbose` (int): 0 for silent, 1 for progress display\n- `ignore_warnings` (bool): Suppress per-model exceptions\n- `predictions` (bool): Return a second DataFrame of forecasted values\n- `seasonal_period` (int/None): Seasonal cycle length; ``None`` auto-detects via ACF\n- `cv` (int/None): Number of ``TimeSeriesSplit`` folds for cross-validation\n- `timeout` (int/float/None): Maximum training seconds per model\n- `sort_by` (str): Metric to sort by (``\"RMSE\"``, ``\"MAE\"``, ``\"MAPE\"``, ``\"SMAPE\"``, ``\"MASE\"``, ``\"R-Squared\"``)\n- `forecasters` (str/list): ``\"all\"`` or a list of model names\n- `n_lags` (int): Number of lag features for ML/DL models (default 10)\n- `n_rolling` (tuple): Rolling-window sizes for feature engineering (default (3, 7))\n- `max_models` (int/None): Limit total models to train\n- `custom_metric` (callable): Additional metric ``f(y_true, y_pred) -\u003e float``\n- `use_gpu` (bool): Enable GPU acceleration for supported models (default False)\n- `foundation_model_path` (str): Local path to pre-downloaded foundation model weights (e.g. TimesFM)\n\n**Available model categories:**\n- **Baselines:** Naive, SeasonalNaive\n- **Statistical (statsmodels):** SimpleExpSmoothing, Holt, HoltWinters_Add, HoltWinters_Mul, Theta, SARIMAX\n- **Statistical (pmdarima):** AutoARIMA\n- **ML (sklearn):** LinearRegression_TS, Ridge_TS, Lasso_TS, ElasticNet_TS, KNeighborsRegressor_TS, DecisionTreeRegressor_TS, RandomForestRegressor_TS, GradientBoostingRegressor_TS, AdaBoostRegressor_TS, ExtraTreesRegressor_TS, BaggingRegressor_TS, SVR_TS, XGBRegressor_TS, LGBMRegressor_TS, CatBoostRegressor_TS\n- **Deep Learning (torch):** LSTM_TS, GRU_TS\n- **Foundation (timesfm):** TimesFM\n\n## GPU Acceleration\n\nEnable GPU acceleration for supported models with `use_gpu=True`:\n\n```python\nfrom lazypredict.Supervised import LazyClassifier, LazyRegressor\n\n# Classification with GPU\nclf = LazyClassifier(use_gpu=True, verbose=0, ignore_warnings=True)\nmodels, predictions = clf.fit(X_train, X_test, y_train, y_test)\n\n# Regression with GPU\nreg = LazyRegressor(use_gpu=True, verbose=0, ignore_warnings=True)\nmodels, predictions = reg.fit(X_train, X_test, y_train, y_test)\n\n# Time Series with GPU\nfrom lazypredict.TimeSeriesForecasting import LazyForecaster\nfcst = LazyForecaster(use_gpu=True, verbose=0, ignore_warnings=True)\nscores, predictions = fcst.fit(y_train, y_test)\n```\n\n**Supported GPU backends:**\n- **XGBoost** — `device=\"cuda\"`\n- **LightGBM** — `device=\"gpu\"`\n- **CatBoost** — `task_type=\"GPU\"`\n- **cuML (RAPIDS)** — GPU-native scikit-learn replacements (auto-discovered when installed)\n- **LSTM / GRU** — PyTorch CUDA\n- **TimesFM** — PyTorch CUDA\n\nFalls back to CPU automatically if no CUDA GPU is available.\n\n## Categorical Encoding\n\nLazy Predict supports multiple categorical encoding strategies:\n\n```python\nfrom lazypredict.Supervised import LazyClassifier\nimport pandas as pd\nfrom sklearn.model_selection import train_test_split\n\n# Example with categorical features\ndf = pd.read_csv('data_with_categories.csv')\nX = df.drop('target', axis=1)\ny = df['target']\n\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)\n\n# Try different encoders\nfor encoder in ['onehot', 'ordinal', 'target', 'binary']:\n    clf = LazyClassifier(\n        categorical_encoder=encoder,\n        verbose=0,\n        ignore_warnings=True\n    )\n    models, predictions = clf.fit(X_train, X_test, y_train, y_test)\n    print(f\"\\n{encoder.upper()} Encoding Results:\")\n    print(models.head())\n```\n\n**Note:** Target and binary encoders require the `category-encoders` package:\n```bash\npip install category-encoders\n```\n\n## Intel Extension Acceleration\n\nFor improved performance on Intel CPUs, install Intel Extension for Scikit-learn:\n\n```bash\npip install scikit-learn-intelex\n```\n\nLazy Predict will automatically detect and use it for acceleration.\n\n## MLflow Integration\n\nLazy Predict includes built-in MLflow integration. Enable it by setting the MLflow tracking URI:\n\n```python\nimport os\nos.environ['MLFLOW_TRACKING_URI'] = 'sqlite:///mlflow.db'\n\n# MLflow tracking will be automatically enabled\nreg = LazyRegressor(verbose=0, ignore_warnings=True)\nmodels, predictions = reg.fit(X_train, X_test, y_train, y_test)\n```\n\nAutomatically tracks:\n- Model metrics (R-squared, RMSE, etc.)\n- Training time\n- Model parameters\n- Model artifacts","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshankarpandala%2Flazypredict","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshankarpandala%2Flazypredict","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshankarpandala%2Flazypredict/lists"}