В этом задании вам нужно будет реализовать метод случайного леса (random forest). Научным заданием будет определение красного смещения до галактик по их фотометрическим измерениям.
Дедлайн 28 мая 23:55
Вы должны реализовать следующие алгоритмы:
- Метод решающего дерева для решения задачи регрессии в файле
tree.py - Метод случайного леса (random forest) в файле
forest.py, используя ваше дерево изtree.py
В файле galaxies.py загрузите данные sdss_redshift.csv с известными красными смещениями (колонка redshift) и на данных фотометрии (колонки u, g, r, i, z) обучите ваш лес:
- Разбейте данные на обучащую и тестовую выборки.
- Сконструируйте такие признаки и подберите гиперпараметры, чтобы достигнуть наименьшего стандартного отклонения предсказания от истинного значения для тестовой выборки.
- Нарисуйте график «истинное значение — предсказание» для всех данных в файл
redhift.png. - В файл
redhsift.jsonвыведите для каждой из выборок стандартное отклонение, в формате{"train": 0.112, "test": 0.573} - Загрузите данные из файла
sdss.csvс неизвестными красными смещениями и используя обученный лес предскажите значения красных смещений. Результат сохраните в файлsdss_predict.csvв том же формате, что иsdss_redshift.csv.
Справка
Связь красных смещений и фотометрического расстояния см. в ДЗ 2.
Фотометрическое расстояние
Фотометрическое наблюдение — это свертка спектра вашего объекта (то есть распределения энергии его излучения по частотам электро-магнитных волн) с фильтром частот. Таким образом получается поток

