https://github.com/ibm/lale
Library for Semi-Automated Data Science
https://github.com/ibm/lale
artificial-intelligence automated-machine-learning automl data-science dataquality hyperparameter-optimization hyperparameter-search hyperparameter-tuning ibm-research ibm-research-ai interoperability machine-learning pipeline-testing pipeline-tests python scikit-learn
Last synced: 25 days ago
JSON representation
Library for Semi-Automated Data Science
- Host: GitHub
- URL: https://github.com/ibm/lale
- Owner: IBM
- License: apache-2.0
- Created: 2019-08-06T14:39:27.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2025-05-07T19:51:30.000Z (about 1 month ago)
- Last Synced: 2025-05-14T22:08:31.117Z (25 days ago)
- Topics: artificial-intelligence, automated-machine-learning, automl, data-science, dataquality, hyperparameter-optimization, hyperparameter-search, hyperparameter-tuning, ibm-research, ibm-research-ai, interoperability, machine-learning, pipeline-testing, pipeline-tests, python, scikit-learn
- Language: Python
- Homepage: https://lale.readthedocs.io
- Size: 40.8 MB
- Stars: 335
- Watchers: 21
- Forks: 80
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Lale
[](https://github.com/IBM/lale/actions/workflows/build.yml)
[](https://lale.readthedocs.io/en/latest/?badge=latest)
[](https://pypi.python.org/pypi/lale/)
[](https://pycqa.github.io/isort/)
[](https://github.com/psf/black)
[](https://github.com/PyCQA/pylint)
[](https://github.com/PyCQA/bandit)
[](https://opensource.org/licenses/Apache-2.0)
[](https://bestpractices.coreinfrastructure.org/projects/5863)
README in other languages:
[中文](https://github.com/IBM/lale/blob/master/docs/README-cn.md),
[deutsch](https://github.com/IBM/lale/blob/master/docs/README-de.md),
[français](https://github.com/IBM/lale/blob/master/docs/README-fr.md),
or [contribute](https://github.com/IBM/lale/blob/master/CONTRIBUTING.md) your own.Lale is a Python library for semi-automated data science.
Lale makes it easy to automatically select algorithms and tune
hyperparameters of pipelines that are compatible with
[scikit-learn](https://scikit-learn.org), in a type-safe fashion. If
you are a data scientist who wants to experiment with automated
machine learning, this library is for you!
Lale adds value beyond scikit-learn along three dimensions:
automation, correctness checks, and interoperability.
For *automation*, Lale provides a consistent high-level interface to
existing pipeline search tools including Hyperopt, GridSearchCV, and SMAC.
For *correctness checks*, Lale uses JSON Schema to catch mistakes when
there is a mismatch between hyperparameters and their type, or between
data and operators.
And for *interoperability*, Lale has a growing library of transformers
and estimators from popular libraries such as scikit-learn, XGBoost,
PyTorch etc.
Lale can be installed just like any other Python package and can be
edited with off-the-shelf Python tools such as Jupyter notebooks.* [Introductory guide](https://github.com/IBM/lale/blob/master/examples/docs_guide_for_sklearn_users.ipynb) for scikit-learn users
* [Installation instructions](https://github.com/IBM/lale/blob/master/docs/installation.rst)
* Technical overview [slides](https://github.com/IBM/lale/blob/master/talks/2019-1105-lale.pdf), [notebook](https://github.com/IBM/lale/blob/master/examples/talk_2019-1105-lale.ipynb), and [video](https://www.youtube.com/watch?v=R51ZDJ64X18&list=PLGVZCDnMOq0pwoOqsaA87cAoNM4MWr51M&index=35&t=0s)
* IBM's [AutoAI SDK](http://wml-api-pyclient-v4.mybluemix.net/#autoai-beta-ibm-cloud-only) uses Lale, see demo [notebook](https://dataplatform.cloud.ibm.com/exchange/public/entry/view/8bddf7f7e5d004a009c643750b16d0c0)
* Guide for wrapping [new operators](https://github.com/IBM/lale/blob/master/examples/docs_new_operators.ipynb)
* Guide for [contributing](https://github.com/IBM/lale/blob/master/CONTRIBUTING.md) to Lale
* [FAQ](https://github.com/IBM/lale/blob/master/docs/faq.rst)
* [Papers](https://github.com/IBM/lale/blob/master/docs/papers.rst)
* Python [API documentation](https://lale.readthedocs.io/en/latest/)The name Lale, pronounced *laleh*, comes from the Persian word for
tulip. Similarly to popular machine-learning libraries such as
scikit-learn, Lale is also just a Python library, not a new stand-alone
programming language. It does not require users to install new tools
nor learn new syntax.Lale is distributed under the terms of the Apache 2.0 License, see
[LICENSE.txt](https://github.com/IBM/lale/blob/master/LICENSE.txt).
It is currently in an **Alpha release**, without warranties of any
kind.