cleanlab/README.md at master · cleanlab/cleanlab #753
Labels
AI-Agents
Autonomous AI agents using LLMs
MachineLearning
ML Models, Training and Inference
New-Label
Choose this option if the existing labels are insufficient to describe the content accurately
Papers
Research papers
Research
personal research notes for a topic
cleanlab/README.md at master · cleanlab/cleanlab
cleanlab helps you clean data and labels by automatically detecting issues in a ML dataset. To facilitate machine learning with messy, real-world data, this data-centric AI package uses your existing models to estimate dataset problems that can be fixed to train even better models.
Get started with: tutorials, documentation, examples, and blogs.
Examples of various issues in Cat/Dog dataset automatically detected by cleanlab via this code:
So fresh, so cleanlab
cleanlab cleans your data's labels via state-of-the-art confident learning algorithms, published in this paper and blog. See some of the datasets cleaned with cleanlab at labelerrors.com. This data-centric AI tool helps you find data and label issues, so you can train reliable ML models.
cleanlab is:
Examples of incorrect given labels in various image datasets found and corrected using cleanlab. While these examples are from image datasets, this also works for text, audio, tabular data.
Run cleanlab
cleanlab supports Linux, macOS, and Windows and runs on Python 3.8+.
pip
orconda
as described here.Practicing data-centric AI can look like this:
Most folks jump from Step 1 → 4, but you may achieve big gains without any change to your modeling code by using cleanlab!
Continuously boost performance by iterating Steps 2 → 4 (and try to evaluate with cleaned data).
Use cleanlab with any model for most ML tasks
All features of cleanlab work with any dataset and any model. Yes, any model: PyTorch, Tensorflow, Keras, JAX, HuggingFace, OpenAI, XGBoost, scikit-learn, etc.
If you use a sklearn-compatible classifier, all cleanlab methods work out-of-the-box.
It’s also easy to use your favorite non-sklearn-compatible model (click to learn more)
cleanlab can find label issues from any model's predicted class probabilities if you can produce them yourself.
Some cleanlab functionality may require your model to be sklearn-compatible.
There's nothing you need to do if your model already has
.fit()
,.predict()
, and.predict_proba()
methods.Otherwise, just wrap your custom model into a Python class that inherits the
sklearn.base.BaseEstimator
:This inheritance allows to apply a wide range of sklearn functionality like hyperparameter-optimization to your custom model.
Now you can use your model with every method in cleanlab. Here's one example:
Want to see a working example? Here’s a compliant PyTorch MNIST CNN class
More details are provided in documentation of cleanlab.classification.CleanLearning.
Note, some libraries exist to give you sklearn-compatibility for free. For PyTorch, check out the skorch Python library which will wrap your PyTorch model into a sklearn-compatible model (example). For TensorFlow/Keras, check out our Keras wrapper. Many libraries also already offer a special scikit-learn API, for example: XGBoost or LightGBM.
cleanlab is useful across a wide variety of Machine Learning tasks. Specific tasks this data-centric AI solution offers dedicated functionality for include:
For other ML tasks, cleanlab can still help you improve your dataset if appropriately applied.
Many practical applications are demonstrated in our Example Notebooks.
Citation and related publications
cleanlab is based on peer-reviewed research. Here are relevant papers to cite if you use this package:
Confident Learning (JAIR '21) (click to show bibtex)
Rank Pruning (UAI '17) (click to show bibtex)
Label Quality Scoring (ICML '22) (click to show bibtex)
Out-of-Distribution Detection (ICML '22) (click to show bibtex)
Token Classification Label Errors (NeurIPS '22) (click to show bibtex)
CROWDLAB for Data with Multiple Annotators (NeurIPS '22) (click to show bibtex)
ActiveLab: Active learning with data re-labeling (ICLR '23) (click to show bibtex)
Incorrect Annotations in Multi-Label Classification (ICLR '23) (click to show bibtex)
Detecting Dataset Drift and Non-IID Sampling (ICML '23) (click to show bibtex)
Detecting Errors in Numerical Data (ICML '23) (click to show bibtex)
ObjectLab: Mislabeled Images in Object Detection Data (ICML '23
Suggested labels
{'label-name': 'Data-Centric-AI', 'label-description': 'Focuses on the use of data to improve AI model performance and reliability.', 'confidence': 51.88}
The text was updated successfully, but these errors were encountered: