Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

iglakovmaks/model-debugger

model-debugger

English quick docs: README.en.md

CI Release License Python

model-debugger — инструмент для пост-тренировочной диагностики моделей классификации.

Он помогает быстро ответить на вопросы:

  • Где модель ошибается чаще всего?
  • В каких сегментах данных качество заметно проседает?
  • Есть ли перекосы между группами (fairness-риски)?
  • Насколько хорошо откалиброваны вероятности?

Проект ориентирован на русскоязычную ML-аудиторию и стек Python + Pandas + scikit-learn + Matplotlib/Seaborn.

Возможности

  • Глобальные метрики: accuracy, precision, recall, f1, error_rate
  • Вероятностные метрики (если есть proba): roc_auc, log_loss, brier_score
  • Диагностика по срезам (region, device, age_group, ...)
  • Рейтинг проблемных срезов (error_gap_vs_global)
  • Fairness-диагностика для бинарной классификации (selection_rate, TPR, FPR, FNR, precision)
  • Калибровка (ECE, MCE) и calibration curve
  • Генерация артефактов: summary.json, CSV-таблицы, PNG-графики, report.md

Визуализации

Top Failure Slices

Top Failure Slices

Calibration Curve

Calibration Curve

Confusion Matrix

Confusion Matrix

Установка

cd model-debugger
python3 -m venv .venv
source .venv/bin/activate
pip install -e .

Для разработки:

pip install -e .[dev]

Быстрый старт

1. Сгенерировать демо-данные

python3 examples/generate_synthetic_data.py --rows 4000 --seed 42 --output examples/sample_predictions.csv

2. Запустить диагностику

python3 -m model_debugger \
 --input examples/sample_predictions.csv \
 --target y_true \
 --pred y_pred \
 --proba y_proba \
 --positive-label 1 \
 --segments gender,region,device,age_group \
 --fairness-groups gender,region \
 --min-segment-size 50 \
 --top-k-failures 10 \
 --output artifacts

3. Артефакты

  • artifacts/summary.json
  • artifacts/report.md
  • artifacts/segment_metrics.csv
  • artifacts/top_failure_slices.csv
  • artifacts/fairness_*.csv
  • artifacts/calibration_table.csv
  • artifacts/plots/*.png

Формат входного CSV

Обязательно:

  • колонка target (истинные метки)
  • либо pred (предсказанный класс), либо proba (вероятность положительного класса)

Опционально:

  • любые колонки сегментов/групп для slice/fairness анализа

Пример:

  • y_true, y_pred, y_proba, gender, region, device, age_group

Python API

import pandas as pd
from model_debugger import AnalysisConfig, ModelDebugger
df = pd.read_csv("examples/sample_predictions.csv")
config = AnalysisConfig(
 target_col="y_true",
 pred_col="y_pred",
 proba_col="y_proba",
 positive_label=1,
 segment_cols=("gender", "region", "device", "age_group"),
 fairness_group_cols=("gender", "region"),
 min_segment_size=50,
)
result = ModelDebugger(df, config).run("artifacts")
print(result["summary"]["overall"])

CLI-параметры

python3 -m model_debugger --help

Ключевые флаги:

  • --input: путь к CSV
  • --target: колонка истинных меток
  • --pred: колонка предсказанного класса
  • --proba: колонка вероятности положительного класса
  • --positive-label: значение положительного класса
  • --threshold: порог преобразования вероятности в класс
  • --segments: срезы через запятую
  • --fairness-groups: fairness-группы через запятую
  • --min-segment-size: минимальный размер сегмента
  • --top-k-failures: число проблемных срезов
  • --calibration-bins: число бинов для калибровки
  • --output: директория артефактов

Качество и CI

В репозитории настроены:

  • GitHub Actions CI: линт, тесты, smoke-run CLI
  • Dependabot для обновления зависимостей
  • Шаблоны Issues/PR и community-файлы

Как контрибьютить

Релизы

Ограничения

  • Основной фокус — классификация; fairness/calibration детально реализованы для бинарного кейса.
  • В multiclass-задачах бинарные fairness/calibration метрики пропускаются.

Лицензия

MIT

About

ML-инструмент для диагностики ошибок модели: сегменты, fairness и calibration

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /