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`.
|
||||
- Использован встроенный сгенерированный датасет `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
|
||||
Loading…
Reference in New Issue
Block a user