Классификатор исполнителей Last.fm (проект)

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
Ментор Антон Галаев
Учебный семестр Весна 2015
Учебный курс 1-й курс
Проект можно развивать на летней практике


Внимание! Данный проект находится в архиве и реализован не будет.

Что это за проект?

В результате должна получиться программа, позволяющая на основе данных пользователя Last.fm и данных об исполнителе, дать пользователю ответ на вопрос: стоит ли слушать этого исполнителя? Предполагается использование простого алгоритма машинного обучения, например, логистической регрессии (для этого могут быть использованы сторонние библиотеки). Таким образом, данные пользователя (прослушивания) могут быть использованы в качестве обучающей выборки, а различные данные об исполнителе в качестве параметров регрессии.

Чему вы научитесь?

  • Использовать RESTful API
  • Применять машинное обучение для решения практических задач
  • Писать хороший поддерживаемый код

Какие начальные требования?

  • Умение программировать
  • Желание познакомиться с базовыми принципами машинного обучения
  • Интерес к музыке, использованию Last.fm

Какие будут использоваться технологии?

  • JSON/XML
  • HTTP
  • Java, C++ или Python
  • HTML/Javascript/CSS
  • Amazon Web Services или Google App Engine (в случае разработки веб-сервиса)
  • Библиотеки алгоритмов машинного обучения

Темы вводных занятий

  • Основы разработки веб-приложений
  • Логистическая регрессия

Направления развития

  • Реализация проекта в виде веб-сервиса
  • Реализация алгоритма регрессии самостоятельно, без использования сторонних библиотек
  • Увеличение количества параметров регрессии (более полное использование данных об исполнителе)
  • Использование многопоточности
  • Разработка красивого и удобного интерфейса

Критерии оценки

  • 4-5 - проект реализован в виде десктопного приложения
  • 6-7 - проект реализован в виде веб-сервиса
  • 8-10 - проект реализован в виде веб-сервиса + выполнены какие-либо из следующих требований: эффективно используются данные об исполнителе, алгоритм реализован самостоятельно (не библиотека), использована многопоточность, удобный интерфейс