Машинное обучение в Spark: классификация, кластеризация и ALS

На этих занятиях мы научились работать с библиотекой pyspark.ml, которую можно назвать аналогом sklearn, но для работы в Spark. Преимущество этой библиотеки - она позволяет обучать модели распределенно, однако хорошо себя показывает только на больших объемах данных.

Обучение и создание моделей примерно такое же как в sklearn: импортируем нужную модель, берем данные и обучаем на них. Также есть инструменты для токенизации, работы с текстом и проверки качества модели. Ну и классификация с кластеризацией такие же как в sklearn.

Из интересного это пакет pyspark.ml.recommendation, в нем реализованы алгоритмы для создания рекомендательных систем. На занятии мы рассмотрели ALS. На вход ему подаются Id пользователя и товара, а на выход к примеру оценка, которую пользователь поставил товару. И можно предсказывать, как оценит человек другой предмет. И по этим оценкам строить предполагаемый рейтинги для рекомендаций. Модель работает неплохо и хорошо показала себя на наших лабах.