Добавить в корзинуПозвонить
Найти в Дзене

Prophet в Машинном обучении простыми словами

Prophet – это библиотека для создания моделей Машинного обучения на базе sklearn. Ее характерная особенность – это использование временных рядов для предсказания целевой переменной. Тренировочный датасет подготавливается таким образом, чтобы входными данными был временной ряд и исторические значения целевой переменной:
Давайте попробуем предсказать стоимость акции компании "Магнит"
Оглавление
Фото: @svfedo
Фото: @svfedo

Prophet – это библиотека для создания Моделей (Model) Машинного обучении (Machine Learning) на базе sklearn. Ее характерная особенность – это использование временных рядов для предсказания целевой переменной. Тренировочный Датасет (Dataset) подготавливается таким образом, чтобы входными данными был временной ряд и исторические значения целевой переменной:

-2

Давайте попробуем предсказать стоимость акции компании "Магнит" (тикер $MGNT.ME). Для этого экспортируем csv-файл со вкладки "Исторические данные" (Historical Data) на finance.yahoo.com со всей историей наблюдений. Для этого в настройке "Временной интервал" (Time Period) установим 'Max'.

Создадим ноутбук на colab.research.google.com и импортируем для начала необходимые библиотеки. Мы используем классический набор из NumPy, Pandas и Matplotlib для подготовки данных и их визуализации. Pylab позволит нам тонко настроить внешний вид конечного графика, а MinMaxScaler – произвести Нормализацию (Normalization) данных. Класс add_changepoints_to_plot – это специальная надстройка, позволяющая добавить так называемые точки разворота:

-3
-4

Зададим графику "опрятный" внешний вид:

-5

Препроцессинг

Прежде чем отправлять модель обучаться, мы произведем препроцессинг и слегка преобразуем датасет. Для простоты воспроизведения кода загрузим датасет на Dropbox и разрешим его скачивание, задав параметр 'dl=1' в конце ссылки.

-6

Наши данные выглядят следующим образом:

-7
-8

Прогнозирование

-9

Prophet работает с двумя столбцами, один из которых – временная метка, потому вторым мы выберем "Стоимость акции на момент открытия биржи" (Open):

-10

Произведем переиндексацию согласно требованиям этой библиотеки Facebook:

-11

Скормим модели тренировочные данные и запросим предсказание на 2020-2021 гг. включительно:

-12

Визуализируем результат с помощью Matplotlib:

-13

Скачать ноутбук, исполняемый без дополнительной настройки на момент написания статьи, можно по ссылке.

Понравилась статья? Поддержите нас, поделившись статьей в социальных сетях и подписавшись на канал. И попробуйте наши курсы по Машинному обучению на Udemy.