Skip to content

Latest commit

 

History

History

hw-4-ml

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Домашнeе заданиe № 4. Обучение и вывод модели ML.

Внимание!

Из необходимого для успешной работы всей инфраструктурной обвязки:

  • docker

  • Makefile (в противном случае команды можно запускать руками, копируя их из Makefile).

Для решения данного задания необходимо:

  1. Сделать форк от master из репозитория https://github.com/OtusTeam/data-engineer

  2. Перейти в папку spark_ml (командой в консоли: cd spark_ml)

  3. Запустить докер-контейнер с jupyter notebook

  4. Последовательно выполнить все ноутбуки в Readme.md (построить модель на Python + scikit-learn, построить модель на Apache Spark)

  5. При построении модели на Apache Spark необходимо в качестве классификатора необходимо использовать вместо LogisticRegression на RandomForest.

Документация по API представлена здесь - https://spark.apache.org/docs/latest/ml-classification-regression.html#random-forest-classifier. Обратите внимание что необходимо использовать новое API (spark.ml).

  1. После построения модели и ее сохранения на диск, необходимо запустить стриминг из ноутбука (tweet_feeder).

  2. Далее необходимо применить модель в streaming mode. Заготовка для имплементации находится в ноутбуке (apply_model). В базовом подходе достаточно просто выводить результат применения модели. Обратите внимание что в качестве результата мы хотим видеть в отдельной колонке вероятность негативного твита (внутри поля probability представлен вектор из двух значений, нам нужна отдельная колонка с последним значением). Напишите udf который будет доставать эту колонку отдельно.

  3. Предоставьте корректно работающий форк на проверку.

Advanced:

  • Попробуйте выводить статистику по количеству "негативных" и "позитивных" твитов за последние 10 секунд скользящим окном.