Skip to content

Midle68/first_nn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Проект "Прогнозирование температуры звезды"

Описание проекта

Предоставлен набор данных о звездах. Имеются следующие их 6 характеристик:

  • Temperature (K). Абсолютная температура в Кельвинах. Целевой показатель;
  • Luminosity(L/Lo). Светимость звезды относительно Солнца;
  • Radius(R/Ro). Радиус звезды относительно радиуса Солнца;
  • Absolute magnitude(Mv). Физическая величина, характеризующая блеск звезды;
  • Star color. Цвет звезды, определяемый на основе спектрального анализа;
  • Star type. Тип звезды.

Метрика данного проекта - RMSE. Необходимые значения данного показатель - менее 4 500.

Типы звезд (параметр Star type)

  • 0 - Коричневый карлик;
  • 1 - Красный карлик;
  • 2 - Белый карлик;
  • 3 - Звезды главной последовательности;
  • 4 - Сверхгигант;
  • 5 - Гипергигант.


В рамках данного проекта необходимо предсказать абсолютную температуру на поверхности звезды в Кельвинах. Существуют различные способы определения абсолютной температуры на поверхности звезды, но заказчик, Обсерватори, надеется, что технологии машинного обучения помогут определить температуру точнее.

План работы

  1. Импортирование библиотек и файлов
  2. Предобработка и анализ данных
  3. Подготовка данных к построению модели
  4. Построение базовой нейронной сети
  5. Улучшение нейронной сети
  6. Выводы

Решенные задачи

  1. Осуществлена предобработка данных;
  2. Проведен исследовательский анализ данных - поиск наибольших корреляций между параметрами базы данных. Наибольшие коэффициенты корреляции обнаружены между целевым показателем - температурой и следующими параметрами: абсолютной звездной величиной (0.71) и цветов (0.68). В целом наибольшая взаимосвязь наблюдается между абсолютной звездной величиной и типом звезды - 0.92.
  3. Создана базовая модель нейронной сети. Осуществлено тестирование и обучение нейронной сети. Достигнуто следующее значение метрики RMSE - около 4 350. Параметры базовой нейронной сети:
    • Количество входных нейронов - количество независимых переменных (17);
    • Количество скрытых слоев - 2. Количество слоев на каждом слое:
      • 1 слой - 8 нейронов;
      • 2 слой - 5 нейронов.
    • Количество нейронов в выходном слое - 1;
    • Функции активации - LeakyReLU;
    • Оптимизатор - Адам. Скорость обучения - 2e-3;
    • Инициализация весов - инициализация Кайминга.
    • Количество эпох - 8 001;
    • Тестирование модели - каждые 1000 эпох.
  4. Реализованы иные модели нейронной сети с той же архитектурой, что и базовая, но с изменениями:
    • С использованием батчей при обучении;
    • С осуществлением нормализации батчей;
    • С "выключение" нейройнов - Dropout.
    • С изменением количества эпох и периодичностью тестирования модели;
    • С изменением скорости обучения (learning rate).
  5. Наилучшее значение метрики RMSE продемонстрировала нейронная сеть с осуществлением нормализации батчей. Ее параметры:
    • Количество эпох - 5 001;
    • Тестирование модели - каждые 500 эпох.
    • Скорость обучения - 1e-3.
    • RMSE - 4 053.
  6. Рекомендовано использование нейронной сети с осуществлением нормализации батчей поскольку ее метрика ниже, а ресурсы на обучение и тестирование не столь значительны в отличие от базовой нейронной сети.

График значений RMSE с предсказанными значениями нейронной сети с нормализацией батчей:

image

График значений RMSE с предсказанными значениями базовой нейронной сети:

image

Использованные библиотеки

math, matplotlib, numpy pandas, torch, phik, sklearn