В данной работе мы изучили данные физико-химического процесса легирования сталей и создали алгоритм определения химического состава шлака по исходным данным.
- Пропуски
- Выбросы
- Дисперсия
- Убрать ненужные столбцы:
- Несущие бесполезную информацию (Например, признак "nplv")
- Сильно коррелирующие с другими (Например, признаки "t обработка" и "t продувка"; "t под током" и "эл. энергия")
- Удалить строки содержащие малое количество информации
- Удалить строки, в которых значения таргета неизвестно
- Удаление шумов (выбросов) с помощью IsolationForest
- Была выдвинута и подтверждена теория, что одну целевую переменную можно предсказывать основываясь на других
- Нами было принято решение использовать GradientBoostingRegressor
- Подбор гиперпаметров происходил по n_estimators и lr (learning rate). Эти параметры являются важнейшими для GBR
- Мы обучали 4 модели для каждого таргета. Для этого создали 4 датасета, каждый из которых включал в себя помимо первоначальных признаков, 3 оставшихся таргета. Мы выбрали данный подход, так как заметили сильную корреляцию между целевыми переменными на этапе обработки данных.
Были получены следующие результаты для таргетов:
Репозиторий содержит в себе папку src, где хранятся папки для отборочного и финального тура. EDA.ipynb содержит в себе выполнение пунктов 1-6, GBR.ipynb выполнение пунктов 7-9. Каталог data содержит исходный датасет, и полученные в результате выполнения EDA.ipynb обучающую и тестовую выборки. Каталог source содержит графики, полученные при анализе данных.
- График распределения целевой переменной "химшлак последний Al2O3"
- График распределения целевой переменной "химшлак последний CaO"
- График распределения целевой переменной "химшлак последний R"
- График распределения целевой переменной "химшлак последний SiO2"
- График корреляций между признаками
- График корреляции между таргетами
- Дисперсия признакового пространства до обработки
- Дисперсия признакового пространства после обработки
- График корреляции между целевой переменной и признаками
- График предсказанных значений, используя LinearRegression
- График предсказанных значений, используя GBR
- График предсказанных значений, используя CatBoostRegressor
Мы обернули обученную модель в чат-бота Telegram. О нем вы можете узнать больше, посетив эту страницу