Классификатор исполнителей 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 - проект реализован в виде веб-сервиса + выполнены какие-либо из следующих требований: эффективно используются данные об исполнителе, алгоритм реализован самостоятельно (не библиотека), использована многопоточность, удобный интерфейс