All Laba4

This commit is contained in:
Даниил Ходыкин 2026-05-02 21:28:13 +03:00
parent a7bc4e67de
commit 0fa2e2e845
3 changed files with 593 additions and 1 deletions

3
.gitignore vendored
View File

@ -1,2 +1,3 @@
.idea/
.venv/
.venv/
.ipynb_checkpoints/

View File

@ -0,0 +1,27 @@
# Практика 4: Pipelines and composite estimators
Из раздела примеров библиотеки scikit-learn был выбран пример **Effect of Transforming the Targets in Regression Model**.
## Цель работы
Изучить применение `TransformedTargetRegressor` для преобразования целевой переменной в задачах регрессии и сравнить качество модели до и после преобразования.
## Реализовано
- Создан Jupyter Notebook `week4_scikit_learn.ipynb`.
- Использован сгенерированный датасет `make_regression`.
- Использован внешний датасет **California Housing** из OpenML (ID: 44031).
- Выполнена предобработка внешнего датасета:
- удаление пропусков (если есть);
- масштабирование признаков через `StandardScaler`;
- разделение на обучающую и тестовую выборки.
- Обучена модель `RidgeCV`.
- Выполнено преобразование целевой переменной через `TransformedTargetRegressor` с логарифмической функцией `np.log1p` / `np.expm1`.
- Построены графики "Actual vs Predicted" и графики остатков для сравнения модели до и после преобразования.
- Визуализировано распределение целевой переменной до и после логарифмирования.
## Выводы
- На синтетических данных логарифмическое преобразование дало значительное улучшение качества (R² вырос с ~0.5 до ~0.95).
- На реальных данных California Housing преобразование улучшило R² на 2-4%, снизило MAE и RMSE.
- Графики остатков после преобразования стали более равномерными.

564
week4_scikit_learn.ipynb Normal file

File diff suppressed because one or more lines are too long