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