Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/egorumaev/2023-steel-energy
Предсказание температуры стали, выплавляемой на металлургическом комбинате
https://github.com/egorumaev/2023-steel-energy
catboost featureengineering lightgbm pandas pipeline python3 regression sklearn xgboost
Last synced: 16 days ago
JSON representation
Предсказание температуры стали, выплавляемой на металлургическом комбинате
- Host: GitHub
- URL: https://github.com/egorumaev/2023-steel-energy
- Owner: egorumaev
- Created: 2023-09-26T13:51:59.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-09-27T08:42:19.000Z (over 1 year ago)
- Last Synced: 2024-11-10T13:25:03.602Z (2 months ago)
- Topics: catboost, featureengineering, lightgbm, pandas, pipeline, python3, regression, sklearn, xgboost
- Language: Jupyter Notebook
- Homepage:
- Size: 1.54 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 2023-steel-energy
Предсказание температуры стали, выплавляемой на металлургическом комбинате# **ПРОЕКТ «Разработка модели машинного обучения для предсказания температуры стали для оптимизации производственных расходов металлургического комбината „Так закаляем сталь‟»**
---
## **Примененные библиотеки и технологии**
* Pandas, Numpy, Matplotlib, Seaborn, DateTime, Phik, Sklearn, Imblearn, Feature_Engine, Catboost, Xgboost, Lightgbm
* Pipeline, Feature Engineering, RandomizedSearchCV, PolynomialFeatures, MinMaxScaler, DropCorrelatedFeatures, SelektKBest, VotingRegressor, background_gradient
---
## **Цель и задачи проекта**
**Цель проекта**: разработать модель машинного обучения, предсказывающую температуру стали, выплавляемой на металлургическом комбинате «Так закаляем сталь».
**Целевое ограничение, по которому оценивается результат выполнения проекта**: значение метрики mean_absolute_error (MAE) лучшей модели на тестовой выборке должно быть **< 6.8**.
**Целевой прогнозируемый признак** - конечная температура каждой партии стали.
**Единица моделирования** - металлический ковш вместимостью 100 тонн (одна партия стального сплава).
Для достижения цели были поставлены и решены следующие **задачи**:
- проведен исследовательский (разведочный) анализ данных, представленных в виде семи датасетов;
- на основе данных датасетов сформированы синтетические целевой и обучающие признаки;
- исследована итоговая таблица с данными;
- проведена проверка данных на мультиколинеарность;
- данные подготовлены для машинного обучения;
- сформированы пайплайны для линейных моделей и моделей, основанных на решающих деревьях (бустинги);
- все модели машинного обучения обучены с помощью кроссвалидации с определением лучших гиперпараметров;
- модель машинного обучения, показавшая лучшее значение метрики на кроссвалидации, проверена на тестовой выборке;
- выявлены важнейшие признаки лучшей модели;
- изучено распределение абсолютной ошибки лучшей модели;
- подготовлен подробный отчет по проекту.
Решаемая в рамках проекта задача относится к задачам **регрессии**.
---
## **Основные результаты**
**(1)** Для выполнения проекта были отобраны линейные модели и модели градиентного бустинга, основанные на решающих деревьях.
**Линейные модели**:
* SVR
* Ridge
* Lasso
* LassoCV
* LinearRegression
**Модели, основанные на решающих деревьях**:
* HistGradientBoostingRegressor
* XGBRegressor
* CatBoost
* LightGBMRegressor
Для исключения утечки целевого признака при кроссвалидации применен пайплайн (pipeline) из библиотеки imblearn. Подбор гиперпараметров моделей (ансамблей моделей) был проведен с помощью RandomizedSearchCV.
**(2)** Самое низкое значение ошибки MAE на обучающей выборке при кроссвалидации показал ансамбль линейных моделей Ridge, Lasso, SVR, объединенный с помощью VotingRegressor. Ансамбль линейных моделей успешно прошел проверку на тестовой выборке, показав значение MAE, равное 5.33.
**(3)** В результате выполнения проекта удалось построить модель машинного обучения, которая предсказывает значение температуры расплавленной стали с ошибкой ниже, чем установлено целевым ограничением. Это позволит более точно предсказывать как недостаточный нагрев стали в ковше, так и перегрев ковша. Следовательно, будет получена экономия ресурсов, расходуемых на повторный нагрев ковша с недостаточной температурой. Уменьшатся затраты электроэнергии, потраченные на перегрев ковша. Кроме того, перегревы ковша повышают частоту их остановки и проведения планово-предупредительных ремонтов, на время которых производственная единица не производит сталь. Сниженная ошибка предсказания температуры стали позволит таким образом повысить загруженность производственных мощностей по выплавке стали.