Привет! На связи Мария Жарова, ML-инженер в команде рекомендаций в Wildberries и ментор курса «Инженер машинного обучения» 👋🏻
Если вы когда-нибудь обучали модели, то знаете: качество данных почти всегда важнее самой модели. Неверная разметка, дубликаты, пропуски, дрейф — всё это незаметно «ломает» метрики и приводит к странным предсказаниям.
Хорошая новость — часть этих проблем можно находить автоматически!
Для этого есть библиотека Cleanlab — инструмент для анализа качества данных и поиска скрытых ошибок в датасетах 🧹
Что умеет этот инструмент:
🟠 Находить потенциально неверно размеченные объекты и оценивать «уверенность» в разметке;
🟠 Искать шумные классы и пересечения между ними;
🟠 Выявлять дубликаты и аномалии;
🟠 Анализировать пропуски и проблемы в признаках;
🟠 Проверять дрейф данных между выборками.
А также Cleanlab полностью совместим со sklearn «из коробки» и умеет работать поверх любой модели.
Как это работает?
Cleanlab использует вероятностные предсказания модели, чтобы оценить, насколько разметка согласуется с паттернами в данных. Если модель стабильно «не согласна» с label’ом, объект помечается как подозрительный. Это особенно полезно для:
🟠 больших датасетов с ручной разметкой, особенно при крауд-сорсинге;
🟠 CV / NLP-задач;
🟠 пользовательских событий (где много шума).
Быстрый старт
Установка:
pip install cleanlab
Пример №1 — поиск ошибок разметки для классификации:
# ищем подозрительно размеченные объекты
label_issues = find_label_issues(
labels=y_train,
pred_probs=pred_probs
)
На выходе получаем строки датасета, где разметка, вероятно, ошибочная — их можно перепроверить вручную, удалить или переразметить.
Пример №2 — автоматическая очистка датасета:
from cleanlab.classification import CleanLearning
cl = CleanLearning(model)
cl.fit(X_train, y_train)
# уже очищенное обучение
preds = cl.predict(X_test)
Также среди возможностей библиотеки — оценка качества разметки по классам (можно понять, какие классы путают чаще всего), а также работа с текстами и изображениями — достаточно подать эмбеддинги или вероятности любой модели.
Быстрые ссылки
➡️ Официальная документация
➡️ Страничка на PyPI с примерами
Ставьте ❤️, если было полезно — и сохраняйте, чтобы протестировать на своих датасетах!
