new complete
This commit is contained in:
parent
28c5435123
commit
e6fad14cfa
File diff suppressed because one or more lines are too long
67
README.md
67
README.md
@ -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
|
||||||
Loading…
Reference in New Issue
Block a user