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