Описание проекта:
Обычно для расчёта температуры звезды учёные пользуются следующими методами:
- Закон смещения Вина.
- Закон Стефана-Больцмана.
- Спектральный анализ.
Каждый из них имеет плюсы и минусы. Обсерватория хочет внедрить технологии машинного обучения для предсказания температуры звёзд, надеясь, что этот метод будет наиболее точным и удобным. В базе обсерватории есть характеристики уже изученных 240 звёзд.
Цель проекта: Найти решение задачи регрессии по определению температуры на поверхности обнаруженных звёзд с помощью нейросети и точностью прогноза RMSE <= 4500.
Описание данных:
Luminosity(L/Lo)— светимость звезды относительно Солнца;Radius(R/Ro)— радиус звезды относительно радиуса Солнца;Absolute magnitude(Mv)— абсолютная звёздная величина, физическая величина, характеризующая блеск звезды;Star color— (white,red,blue,yellow,yellow-orangeи др.) — цвет звезды, который определяют на основе спектрального анализа;Star type— тип звезды (описание типов в таблице ниже);
| Тип звезды | Номер, соответствующий типу |
|---|---|
| Коричневый карлик | 0 |
| Красный карлик | 1 |
| Белый карлик | 2 |
| Звёзды главной последовательности | 3 |
| Сверхгигант | 4 |
| Гипергигант | 5 |
Temperature (K)—(Целевой признак)— абсолютная температура на поверхности звезды в Кельвинах.
Ход исследования:
-
Подготовка данных: загрузка и изучение общей информации из представленных датасетов. -
Предобработка данных: стандартизация данных и обработка явных и неявных дубликатов. -
Исследовательский анализ данных: изучение признаков имеющихся в датасетах, их распределение, поиск выбросов/аномалий в данных. -
Корреляционный анализ: изучение взимосвязей между входными признаками и целевыми, а также и между ними. -
Подготовка данных к обучению модели: деление данных на тестовую и тренировочную выборки, feature engineering, отбор признаков для обучения с помощьюmutual_info_regression, построение пайплайна обработки данных. -
Построение базовой нейронной сети: получение бызовой метрики по тестовой выборки с помощью закона Стефана-Больцмана, построение базовой нейронной сети, где определяется архитектура модели и получение метрики качества ее прогноза на тестовой выборке и анализ результатов. -
Улучшение нейронной сети: подбор гиперпараметров для ранее полученной нейросети, добавление регуляризации и обучения с помощью батчей, получение метрики качества ее прогноза на тестовой выборке и анализ результатов, тестируется добавление аугментированных данных для улучшения точности прогноза нейросети. -
Общий вывод: резюмирование полученных результатов, формулировка ключевых выводов.
Результаты работы:
Для получения базовых метрик были использованы закон Стефана-Больцмана и обучена базовая нейросеть, где была определена архитектура модели.
Метрики качества RMSE:
- Закон Стефана-Больцмана —
7646.102 - Базовая нейросеть —
~3360.929
Чтобы повысить точность прогноза модели были использованы следующие инструменты:
- Обучение с помощью батчей;
- Добавление регуляризации;
- Подбор гиперпараметров с помощью цикла;
- Добавление аугментированных данных в тренировочную выборку.
После добавления обучения c помощью батчей и регуляризации в модель, нам удалось улучшить метрику базовой нейросети на ~13%.
Проанализировав прогноз улучшеной модели мы обнаружили, что нейросеть недостаточно хорошо справляется с звездами 4 и 5 типа голубого и бело-голубого цвета. Поэтому было принято решение добавить аугментированных данных, на основе имеющейся тренировочной выборки. К сожалению данный метод не дал должного результата и метрика оказалась хуже, чем у модели обученной на оригинальных данных.
Итоговые результаты в сводной таблице:
| Model | Description | RMSE |
|---|---|---|
| Upgrade Neural Network | Улучшенная базовая нейросеть с подобранными гиперпараметрами | 2911.542 |
| Neural Network Augmented | Улучшенная базовая нейросеть обученная с добавлением синтетических данных | 3235.010 |
| Baseline Neural Network | Базовая нейросеть | 3360.929 |
| Baseline | Прогнозирование температуры с помощью закона Стефана-Больцмана | 7646.102 |
По итогам работы лучшей моделью стала Upgrade Neural Network.
Выполнены все поставленные задачи работы, найден метод, который лучше прогнозирует температуру звезды с помощью нейросети, а так же достигнут порог требуемого качества прогноза, значение RMSE ниже 4500, она составляет 2911.542.
Технологии:
- Data Processing:
numpy,pandas; - Visualization:
matplotlib,seaborn; - ML & Preprocessing:
scikit-learn,PyTorch; - Statistical Analysis:
scipy,statsmodels(VIF, тесты нормальности); - Correlation Analysis:
phik— для анализа связей между числовыми и категориальными признаками.