Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

Предсказание температуры стали, выплавляемой на металлургическом комбинате

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)** В результате выполнения проекта удалось построить модель машинного обучения, которая предсказывает значение температуры расплавленной стали с ошибкой ниже, чем установлено целевым ограничением. Это позволит более точно предсказывать как недостаточный нагрев стали в ковше, так и перегрев ковша. Следовательно, будет получена экономия ресурсов, расходуемых на повторный нагрев ковша с недостаточной температурой. Уменьшатся затраты электроэнергии, потраченные на перегрев ковша. Кроме того, перегревы ковша повышают частоту их остановки и проведения планово-предупредительных ремонтов, на время которых производственная единица не производит сталь. Сниженная ошибка предсказания температуры стали позволит таким образом повысить загруженность производственных мощностей по выплавке стали.