🚀 **简介**:
cleanlab,一个专为杂乱无章的真实世界数据和标签设计的AI包,帮助您通过自动检测机器学习数据集中的问题,清理数据和标签,从而训练出更优质的模型。
🛠️ **主要功能**:
- 与任何分类器兼容,包括PyTorch、TensorFlow、OpenAI、XGBoost等。
- 一键检测数据集中的标签问题。
- 训练鲁棒模型,更可靠地处理噪声数据。
- 估计使用无标签问题数据训练的预测结果。
🎯 **适用场景**:
- 图像、文本、音频或表格数据的快速处理。
- 自动检测数据问题,如异常值、重复、标签错误等。
- 主动学习,智能建议下一步数据标记或重新标记。
📈 **理论支持**:
- 基于可证明的标签噪声估计理论,即使模型不完美,也能提供精确估计。
🔧 **性能特点**:
- 快速:代码并行化和可扩展。
- 易于使用:简单一行代码,即可发现错误标记的数据或训练噪声鲁棒模型。
- 通用性:适用于任何数据集和模型。
🌐 **社区与资源**:
- 加入我们的Slack社区,获取帮助和参与讨论。
- 访问Cleanlab Studio,体验无代码数据改进,提高工作效率。
📚 **学术贡献**:
cleanlab基于同行评审研究,引用相关论文,支持您的学术和研究工作。
🔗 **资源链接**:
- [cleanlab GitHub仓库](https://github.com/cleanlab/cleanlab)
- [Cleanlab Studio 免费试用](https://cleanlab.ai/studio)
- [cleanlab 社区Slack](https://cleanlab.ai/slack)
📣 加入cleanlab社区,让我们一起推动数据质量和机器学习的进步!"
import numpy as np
import pandas as pd
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from cleanlab.classification import CleanLearning
from cleanlab.filter import find_label_issues
# 生成随机数据
np.random.seed(0)
num_samples = 1000
num_features = 10
X = np.random.randn(num_samples, num_features)
y = np.random.randint(0, 2, size=num_samples)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
# 创建随机森林分类器并进行拟合
rf = RandomForestClassifier(n_estimators=100, random_state=0)
rf.fit(X_train, y_train)
# 使用cleanlab找到标签问题
label_issues = find_label_issues(y_train, rf.predict_proba(X_train))
# 打印有问题的标签
print("有问题的标签索引:", label_issues)
# 创建CleanLearning对象并重新拟合模型
cl = CleanLearning(clf=rf, seed=0)
cl.fit(X_train, y_train)
# 评估新模型
print("新模型测试集准确率:", cl.score(X_test, y_test))
文末彩蛋:
ML库安利大放送
scikit-learn
scikit-multilearn
sklearn-expertsys
scikit-feature
scikit-rebate
seqlearn
sklearn-bayes
sklearn-crfsuite
sklearn-deap
sigopt_sklearn
sklearn-evaluation
scikit-image
scikit-opt
scikit-posthocs
pystruct
Shogun
xLearn
cuML
causalml
mlpack
MLxtend
modAL
Sparkit-learn
hyperlearn
dlib
imodels
RuleFit
pyGAM
Deepchecks
scikit-survival
interpretable