new complete

This commit is contained in:
Shvetsov Nikolai 2026-05-08 01:13:44 +03:00
parent 28c5435123
commit e6fad14cfa
2 changed files with 301 additions and 150 deletions

File diff suppressed because one or more lines are too long

View File

@ -1,39 +1,50 @@
# Practice 4: Calibration in Scikit-learn
# Калибровка вероятностей классификаторов
Учебная работа по теме **Calibration** из раздела примеров библиотеки scikit-learn.
## Описание проекта
## Цель работы
Проект выполнен в рамках учебной практики по Python и анализу данных.
Изучить калибровку вероятностей классификаторов и сравнить вероятностные предсказания модели до и после калибровки.
В работе исследуется калибровка вероятностных предсказаний модели машинного обучения с использованием библиотеки scikit-learn. Выполнено сравнение вероятностей до и после калибровки на синтетическом и внешнем датасетах.
## Что сделано
## Используемые технологии
- Создан Jupyter Notebook `week4_scikit_learn.ipynb`.
- Использован встроенный сгенерированный датасет `make_classification`.
- Использован внешний датасет из OpenML.
- Выполнена предобработка внешнего датасета:
- кодирование категориальных признаков через `pd.get_dummies()`;
- масштабирование признаков через `StandardScaler`;
- кодирование целевой переменной через `LabelEncoder`.
- Обучена модель `LogisticRegression`.
- Выполнена калибровка вероятностей через `CalibratedClassifierCV`.
- Построены калибровочные кривые для сравнения модели до и после калибровки.
- Добавлены Markdown-блоки с пояснениями и выводами.
## Используемые библиотеки
- numpy
- Python 3.14
- JupyterLab
- pandas
- numpy
- matplotlib
- scikit-learn
- openml
- jupyterlab
## Структура проекта
## Структура работы
```text
practice4_Calibration/
├── week4_scikit_learn.ipynb
├── README.md
├── requirements.txt
└── .gitignore
В проекте рассматриваются:
1. Создание синтетического датасета через `make_classification`
2. Обучение модели `LogisticRegression`
3. Калибровка вероятностей через `CalibratedClassifierCV`
4. Построение calibration curve
5. Работа с внешним датасетом OpenML
## Внешний датасет
В качестве внешнего датасета использован набор данных OpenML с ID 40691.
Для корректной работы calibration curve многоклассовая задача была преобразована в бинарную классификацию.
## Результат работы
В ходе выполнения проекта были получены навыки:
- работы с JupyterLab;
- предобработки данных;
- обучения моделей машинного обучения;
- построения графиков;
- анализа вероятностных предсказаний модели.
## Запуск проекта
Установка зависимостей:
```bash
pip install -r requirements.txt