Классификатор исполнителей Last.fm (проект) — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
Строка 10: Строка 10:
  
 
=== Что это за проект? ===
 
=== Что это за проект? ===
В результате должна получиться программа, позволяющая на основе данных пользователя Last.fm и данных об исполнителе, дать пользователю ответ на вопрос: стоит ли слушать этого исполнителя? Предполагается использование простого алгоритма машинного обучения, например, логистической регрессии. Таким образом, данные пользователя (прослушивания) могут быть использованы в качестве обучающей выборки, а различные данные об исполнителе в качестве параметров регрессии.
+
В результате должна получиться программа, позволяющая на основе данных пользователя Last.fm и данных об исполнителе, дать пользователю ответ на вопрос: стоит ли слушать этого исполнителя? Предполагается использование простого алгоритма машинного обучения, например, логистической регрессии (для этого могут быть использованы сторонние библиотеки). Таким образом, данные пользователя (прослушивания) могут быть использованы в качестве обучающей выборки, а различные данные об исполнителе в качестве параметров регрессии.
  
 
=== Чему вы научитесь? ===
 
=== Чему вы научитесь? ===
Строка 28: Строка 28:
 
* HTML/Javascript/CSS
 
* HTML/Javascript/CSS
 
* Amazon Web Services или Google App Engine (в случае разработки веб-сервиса)
 
* Amazon Web Services или Google App Engine (в случае разработки веб-сервиса)
 +
* Библиотеки алгоритмов машинного обучения
  
 
=== Темы вводных занятий ===
 
=== Темы вводных занятий ===
 +
* Основы разработки веб-приложений
 
* Логистическая регрессия
 
* Логистическая регрессия
  
 
=== Направления развития ===
 
=== Направления развития ===
 
* Реализация проекта в виде веб-сервиса
 
* Реализация проекта в виде веб-сервиса
 +
* Реализация алгоритма регрессии самостоятельно, без использования сторонних библиотек
 
* Увеличение количества параметров регрессии (более полное использование данных об исполнителе)
 
* Увеличение количества параметров регрессии (более полное использование данных об исполнителе)
 
* Использование многопоточности
 
* Использование многопоточности
Строка 41: Строка 44:
 
* 4-5 - проект реализован в виде десктопного приложения
 
* 4-5 - проект реализован в виде десктопного приложения
 
* 6-7 - проект реализован в виде веб-сервиса
 
* 6-7 - проект реализован в виде веб-сервиса
* 8-10 - проект реализован в виде веб-сервиса + выполнены какие-либо из следующих требований: алгоритм хорошо обучается, эффективно используются данные об исполнителе, использована многопоточность, удобный интерфейс
+
* 8-10 - проект реализован в виде веб-сервиса + выполнены какие-либо из следующих требований: эффективно используются данные об исполнителе, алгоритм реализован самостоятельно (не библиотека), использована многопоточность, удобный интерфейс

Версия 19:26, 1 января 2015

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