Прикладные задачи анализа данных (курс на ВМК 2016 года)

Материал из MachineLearning.

Перейти к: навигация, поиск

Содержание

АЛГОРИТМЫ, МОДЕЛИ, АЛГЕБРЫ (название условное, курс посвящён анализу данных)

  • Обязательный курс для магистров каф. ММП 1 г/о, читается в 1-м (9-м) семестре.
  • Лекции — 32 часа, семинаров - 32 часа.
  • Экзамен.
  • За курс отвечает кафедра Математических методов прогнозирования.
  • Автор программы: профессор А. Г. Дьяконов.


Как в прошлом году проходил экзамен:
  • Есть система штрафных баллов, по ней формируется итоговая оценка.
  • Пороги для конкретных оценок (по сумме баллов) объявлены изначально, но могут быть откорректированы лектором в пользу студентов.
  • Сам экзамен проводится письменно - на нём (при желании) можно улучшить итоговую оценку

Содержание экзамена: задания эквивалентные заданиям со всех контрольных и семинаров (плюс задания по спектральной теории графов, плюс задания на знания теории и определений, если они были на лекциях и продублированы в списке рекомендуемой литературы, плюс задания на знания языков/библиотек, если они обсуждались на семинарах и лекциях)

Исправление: хорошее написание письменного экзамена увеличивает итоговую оценку на 1 балл (порог будет заранее объявлен), безупречное написание - на 2 балла.

  • Итоговая "отлично" ставится автоматом.
  • Итоговая "неудовлетворительно" также ставится автоматом и означает недопуск к экзамену, чтобы получить допуск надо сдать все несданные задания (итоговая оценка при этом не меняется и может быть исправлена только на самом экзамене).
  • Экзамен проходит по жёсткой схеме: нельзя пользоваться ничем (кроме ручки и листка бумаги). Аналогично контроль сдаваемых заданий после окончания семестра жёсткий: лектор уже не консультирует по самим заданиям, презентации оцениваются по формальным критериям: наличие постановки задачи, описание предложенных методов, их обоснование, подробное изложение экспериментов (с графиками и таблицами), формирование итоговой модели, выводы. Оценивается и сам доклад по задаче!


Аннотация

Курс посвящён решению прикладных задач анализа данных. Разбираются реальные задачи и бизнес-кейсы. Студенты пишут и настраивают алгоритмы на языках Python, R, M (Matlab).

Семинары посвящены

  • докладам по решению прикладных задач (с презентациями),
  • опросам по выполнению домашнего задания,
  • обучению программированию на скриптовых языках (для тех, у кого их не было в бакалавриате),
  • мозговому штурму по решению задач и обсуждению решений,
  • написанию контрольных работ, решению аналитических задач, работе над ошибками.

Система оценивания

В течение семестра студенты получают задания.

При сдаче правильно выполненного задания в срок студент не получает штрафных баллов.

В противном случае - он получает от 1 до 10 штрафных баллов.

Штраф в 10 баллов допустим за позднюю сдачу (даже если решение верное) в случае отсутствия уважительных причин (болезнь, подтверждаемая справкой, и т.п. - см. требования учебной части).

В некоторых случаях (на усмотрение лектора), магистру, который лучше всех выполнил конкретное задание, списываются штрафные баллы (до 10).

На экзамене также за неверные ответы студент получает штрафные баллы.


Итоговая оценка формируется следующим образом:

  • до 10 штрафных баллов включительно - отлично,
  • до 20 штрафных баллов включительно - хорошо,
  • до 30 штрафных баллов включительно - удовлетворительно.

Содержание курса

Наполняется по мере необходимости.

Число Занятие Тема Замечания
01.09.16 лекция Вводное занятие: цели курса, материалы, правила, участие в соревнованиях. презентация (pdf)
01.09.16 семинар Тест на знание основ машинного обучения.
01.09.16 дз Регистрация на платформе kaggle.com (каждый участник в четверг должен иметь действующий логин), регистрация на данном ресурсе (по возможности), исследование платформы kaggle (уметь назвать несколько задач с платформы, их постановку, функционал качества, методы, которые использовали участники).
08.09.16 лекция Оценка среднего и вероятности

материалы:

  1. Книга Шурыгин А.М. Математические методы прогнозирования // М., Горячая линия — Телеком, 2009, 180 с. * Неплохие идеи для решения некоторых практических задач статистики (но в целом, специфична)
  2. Статья  Дьяконов А.Г. Прогноз поведения клиентов супермаркетов с помощью весовых схем оценок вероятностей и плотностей // Бизнес-информатика. 2014. № 1 (27). С. 68–77..
  3. Видео Оценка вероятности: когда к нам придёт клиент?
презентация (pdf)
08.09.16 лекция
08.09.16 дз Первое домашнее задание:

Решение задачи [[1]]. Срок - до 21 сентября 2016 23:59 (с выкладкой отчёта в [этой ветке форума]).

Все вопросы задаются в [форуме].

Поощряется активность: выкладывание скриптов общего назначения (загрузка данных, перевод в нужный формат), бенчмарков (примитивные алгоритмы), ответы на вопросы в форуме.

до 14 сентября 2016 23:59 - преодолеть порог 278.17435 в [Public Liderboard].

Напоминание: команды называть по шаблону Ivan Ivanov (MMP, MSU, Russia).

max штраф за задание -10.

Но дополнительно, за непреодоление бенчмарка -5.


15.09.16 лекция Система для анализа данных Matlab

материалы:

  1. Дьяконов A.Г. Анализ данных, обучение по прецедентам, логические игры, системы WEKA, RapidMiner и MatLab (практикум на ЭВМ кафедры математических методов прогнозирования), МАКСПресс, 2010, 278с.
  2. Блог Лоурен "Loren on the Art of MATLAB"
презентация (pdf)
15.09.16 семинар Разбор первого проверочного теста
15.09.16 дз Быть в будущем готовым к контрольной
22.09.16 лекция Визуализация данных

материалы:

презентация (pdf)
22.09.16 семинар Разбор решений задачи [MSUsums]
22.09.16 дз

Второе домашнее задание:

0. Найти интересную визуализацию, выложить в [ветке форума] (кратко обосновать, чем интересна).

Не обязательно на тему анализа данных (главное: интересная тематика и/или стиль визуализации).

Если кто-то выкладывает визуализацию, то источник (например, какой-то блог) уже не может быть использован остальными магистрами!

1. Выбрать набор данных на kaggle.com в разделе [Kaggle/Datasets].

Будьте внимательны: смотрите на данные. Ограничение: не более двух магистров на один датасет. Выбор надо сразу же "застолбить" в [ветке форума].

2. Сделать визуализацию по этой задаче (по каждой уже есть какие-то визуализации - см. раздел "Kernels"). Вот [пример] одной из уже сделанных визуализаций.

3. Оформить её в виде скрипта на сайте (предпочтительно) и / или в виде отдельного pdf-отчёта. Вот пример [отчёта прошлого года].

4. В любом случае - сделать по своей работе презентацию.

5. Что будет оцениваться (точнее, не штрафоваться)

  • красота картинок
  • нетривиальность данных для визуализации (необходимость получить их по представленным таблицам)
  • непохожесть на другие визуализации
  • качество выводов
  • подробность описания своей работы над задачей
  • лайки на сайте kaggle

Срок - до 12.10.2016 23:59.

Максимальный штраф: -10 (плюс отдельный штраф -5 за найденную визуализацию).

29.09.16 лекция продолжение Визуализация данных
29.09.16 лекция Функционалы качества и ошибки

материалы:

презентация (pdf)
29.09.16 дз
05.10.16
среда
лекция Язык программирования Python презентация (pdf)
05.10.16
среда
лекция Язык программирования Python (продолжение)
05.10.16
среда
дз Готовиться к к/р по языку Python.


13.10.16 лекция продолжение Функционалы качества и ошибки
13.10.16 лекция Минимизация ошибок


презентация (pdf)
13.10.16 дз

НОВОЕ ЗАДАНИЕ 1. Поиск закономерностей в данных https://contest.sdsj.ru/

- в последующем будем решать эту задачу (можно начинать)

- первая тройка (в глобальном соревновании и в каждой подзадаче) получает 5 автоматом

- сейчас до 27.10.2016 ищем интересные закономерности

(в первую очередь, с прицелом на решение одной из 3х задач, но можно и просто какие-то нетривиальные зависимости в данных)

- цель: найти зависимости, которые не нашёл лектор - максимальный штраф: -10

- итог: выступление с презентаций (pdf) 27.10.2016

Для выполнения задания очень пригодится пакет Pandas для Python. Я о нём расскажу на след. неделе, вот презентация прошлого года.

Визуализация по конкурсу

код


20.10.16 лекция Pandas презентация (ver.2015)
20.10.16 семинар Функционалы качества и функции ошибки
20.10.16
27.10.16 кр
  • к/р по ЯП Python
  • к/р по теме Функционалы качества
  • Презентации по теме Закономерности в задаче "Сбербанк"


3.11.16 лекция Scikit-learn
3.11.16 лекция case (регрессия с особым функционалом качества): Решение задачи об определении времени перемножения матриц


3.11.16 дз Участие в конкурсе СберБанка. До следующего занятия в ветке форума выложить код.
10.11.16 лекция Случайные леса

материалы:

презентация (pdf)
10.11.16 лекция Временные и географические признаки презентация (pdf)
10.11.16 д/з Решение задачи Allstate


17.11.16 лекция Категориальные признаки

материалы:

презентация (pdf)
17.11.16 лекция Пост-троечные последовательности

материалы:

презентация (pdf)
17.11.16 дз За неделю - получить нетривиальное решение конкурса Allstate


24.11.16 лекция Теория нечётких множеств

материалы:

презентация (pdf)
24.11.16 семинар Задачи по нечётким множествам
24.11.16 дз Подготовиться к контрольной по нечётким множествам


01.12.16 лекция Исследование социальных сетей

материалы:

презентация (pdf)
01.12.16 лекция Исследование социальных сетей (продолжение)
01.12.16 дз Готовиться-таки к контрольной по ТНЧ.

Соревнование Santander


08.12.16 лекция Анализ текстов

материалы:

презентация (pdf)
08.12.16 лекция Анализ текстов (продолжение)
08.12.16 дз


Успеваемость

№ п/п Студент тест покупки (1) покупки (2) визуализация кр Python кр ФК Сбербанк Fuzzy Allstate Santader Итог
1 Амелин Владислав Владимирович 19 + +0
report
vis+/+ +2 +3 -6 -10 +5 (код) +10 (1st) + +4
2 Андрейцев Антон Игоревич 13 - -6
report
vis+/+ -8 0 +5 + +2(д) + + -7
3 Викулин Всеволод Александрович 28 + +3
report
vis+/+ +2 -5 -6 +5 (result) +5(де Морган) + + +4
4 Вихрева Мария Викторовна Н - -5
vis+/+ +5(good) -10н -10н + -10 -10 -40
5 Гетоева Аида Артуровна 11 + +0
report
vis+/+ +2 +5(good) -2 -7 + -10 ? + -12
6 Журавлёв Вадим Игоревич 19 + +3
report
vis+/+ +2 +3 -3 -9 + +(-nn) + -4
7 Иванов Олег Юрьевич 32 + +5
vis+/+ -3 -2 -1 + +1(м) + + 0
8 Камалов Руслан Рамилевич 11 + +0
vis+/+ -2 -3 -8 + + + -13
9 Кудрявцев Георгий Алексеевич 25 + -1
report
vis+/+ -2 out
10 Оспанов Аят Махатович 17 + +0
report
vis+/+ +3 -6 -8 + + + -11
11 Попов Николай Олегович 10 + +0
vis+/+ -2 -2 -2 +5 (result) + + +10 (1st) +9
12 Романов Никита Алексеевич 8 + +0
report
vis+/+ +5(good) -2 -10 + + + -7
13 Рысьмятова Анастасия Александровна 37 + +10 (1st)
report
vis+/+ +2 +10(best) -4 -7 +5 (result) + + +16
14 Садекова Таснима 10 + +0
vis+/+ -7 -7 + + + -14
15 Скробот Дмитрий Владиславович Н - -10 -5 -10 -9 -10 -10 -10 -64
16 Стёпина Александра Михайловна 18 + -3
vis+/+ -6 -6 + + + -15
17 Тлеубаев Адиль Талгатович 16 + +0
vis+/+ +3 -8 -9 + +5 (report) +2(д) + + -7
18 Чиркова Надежда Александровна 24 + +0
report
vis+/+ -3 -2 +5 (report) +1(м) + + +1
19 Шаповалов Никита Анатольевич 39 + +0
report
vis+/+ +2 0 + 10 + 2д 0 + 5 +5 (result) + + +24
-- Даулбаев Талгат Кайратулы 30 + +0
vis+/+ +2 -4 -5 -2 + -10 -19
-- Гёри Алексей (Германия) Н + +5
report
vis+/+ -9 -9 + + + -13
-- Теплов Алексей (НИВЦ) Н
-- Чабаненко Владислав Дмитриевич 28 +

Литература

Указана локально - в сетке расписания.

Личные инструменты