June 17, 2020

Введение в анализ данных на Python

Формат курса

  • Перед проведением курса, каждому участнику будет выдан опросник в формате гугл-формы. Цель опросника — получить представление о навыках и уровне будущих слушателей.
  • Курс будет разделен на модули-лекции. Каждый модуль-лекция будет включать в себя демонстрацию слайдов и практические задания, при этом на лекции и семинары разделения не будет — все будет происходить одновременно. После каждого модуля-лекции студентам будет выдан теоретический и практический материал, который нужно будет обязательно закрепить к следующему модулю-лекции. Интервалы между разными модулями-лекциями не фиксируются — при желании можно их проводить каждую неделю, а можно раз в месяц (в зависимости от нагрузки). Один модуль-лекция будет длиться 2-3 часа. В конце каждой лекции можно будет обсудить вопросы и назначить следующее занятие в удобное всем время.
  • Каждая лекция будет проходить в следующем формате (2 или 3 часа):
    — 10 минут — разбор ДЗ (практических тетрадок и квизов)
    — 10 минут — "вспомнить все" (предыдущие материалы лекций)
    — 15 минут — лекционный материал 1
    — 15 минут — практический материал 1
    — 10 минут — кофе брейк 1 // questions/catch-up session 1
    — 25 минут — лекционный материал 2
    — 25 минут — практический материал 2
    — 10 минут — кофе брейк 2 // questions/catch-up session 2
    — 20 минут — лекционный материал 3 (optional)
    — 20 минут — практический материал 3 (optional)
    — 10 минут — кофе брейк 3 // questions/catch-up session 3
    — 10 минут — discussion session (по всей лекции) + назначение следующей

    Таким образом, 1/3 всего модуля занимают лекции, 1/3 практические задания и 1/3 обсуждения, ответы на вопросы и перерывы.
  • После каждого модуля-лекции будут выдаваться (для самостоятельного выполнения) квиз из 10-15 вопросов и практическая тетрадка — чтобы закрепить материалы лекции. Их нужно будет сделать к следующей лекции. Все задания буду оцениваться.
  • После всех модулей-лекций студентам будет выдан индивидуальный проект на 10-14 дней.

Лекция 1: введение, базовые определения, статистики и графики

  1. Коротко о курсе. Структура, методы оценивания, теоретические и практические задания.
  2. Мотивация: зачем нужен анализ данных? Релевантные use-кейсы.
  3. Основные принципы и определения анализа данных. Частые заблуждения, частые ошибки, часто задаваемые вопросы.
  4. Какой бывает анализ данных? Предиктивный (предсказательный) анализ*, дескриптивная (описательная) статистика, проверка статистических гипотез*.
  5. Основные понятия статистики. Вероятностные распределения (нормальное, равномерное, экспоненциальное), квантили и перцентили распределения, среднее, дисперсия, медиана, мода, доверительные интервалы.
  6. Основные графики. Линейный график (line chart), столбичная диаграмма (bar chart), круговая диаграмма (pie chart), гистограмма, ядерная оценка плотности (kernel density estimation)*, диаграмма рассеяния (scatter plot), скрипичная диаграмма (violin plot)*, ящик с усами (box plot).
  7. Q&A сессия. Еще раз о Lecture Quiz, практических заданиях и проекте.

Лекция 2: базовый анализ данных

  1. Вспомнить все: Какой бывает анализ данных? (предиктивный (предсказательный) анализ, дескриптивная (описательная) статистика, проверка статистических гипотез).
  2. Предобработка данных. Очистка, фильтрация выбросов (шума), нормализация и трансформация данных, заполнение пропусков, выделение признаков (feature extraction)*, отбор признаков (feature selection)*, конструирование признаков (feature engineering)*.
  3. Базовый анализ данных: визуальный анализ, корреляционный анализ, регрессионный анализ, кластерный анализ, проверка статистических гипотез*.
  4. Q&A сессия.

Лекция 3: miscellaneous

  1. Визуализация многомерных данных. Метод главных компонент (PCA), метод стохастического вложения соседей с t-распределением (t-SNE), UMAP.
  2. Большая Q&A сессия.
  3. Обсуждение итогового проекта (дедлайн через 10-14 дней)

Квизы, практические задания и финальный проект

  1. Квиз: 10 вопросов по теме лекции (множественный выбор, произвольный ответ). Дедлайн: к началу следующей лекции.
  2. Практические тетрадки: фактически заменяет семинар — там будет отражена практическая реализация лекционного материала на каких-нибудь реальных данных нашего бизнеса. Это не задание на оценку, а просто тетрадка с полезными кусками кода. Дедлайн: к началу следующей лекции. Некоторые вопросы в квизе будут основаны на этой практической тетрадке — поэтому мы сразу поймем, кто ее смотрел, а кто нет.
  3. Финальный проект будет индивидуальным для каждого слушателя.
    Для Артемия/Игоря/Павла это будет стандартный цикл одного из их проектов: поля -> модерация А -> модерация Б -> отчет. На каждом из этапов нужно будет провести визуализацию и/или простой статистический анализ. Часть заданий будут сформулированы четко, другая часть — нечетко. Это будет сделано для того, чтобы проверить, как "студент" будет рассуждать в нестандартной ситуации.
    Для Плющева это будет задание, основанное на финансовых данных, которые он предоставит.
    Для Зубкова — я с ним отдельно обсужу, хочет ли он поучаствовать в курсе. И если да, придумаем ему интересное задание. Возможно, Вове будет лучше поучаствовать в каком-то более продвинутом курсе (типа по машинке или NLP — такой тоже можно будет организовать в будущем).

Что нужно сделать, чтобы запустить курс:

  1. Согласовать общую программу (этот документ) с Д.С.
  2. Показать программу Маше — получить от нее фидбек, рекомендации, советы.
  3. Получить данные от Артемия/Игоря/Плющева: полевые, модерация А, модерация Б, отчет. Поиграться с этими данными, посмотреть какие можно сделать с ними задания (визуализация, статистика и т.п.)
  4. Сформировать план финального проектного задания (контент, структура)
  5. Запустить гугл-опросник для будущих "студентов" курса.
  6. Проанализировать опросник и подредактировать программу курса в соответствии с результатами.
  7. Сделать слайды для всех лекций
  8. Сделать доп. текстовые материалы (?)
  9. Сделать вспомогательные практические тетрадки
  10. Сделать квизы для первых двух лекций (для третьей не будем делать)
  11. Сделать для каждого "студента" шаблон-тетрадку для финального проектного задания

Структура курса по анализу данных

Курс будет состоять из нескольких независимых модулей. Один модуль = одна неделя. В одном модуле может быть прочитано 2-3 лекции (две по 90 минут, либо три по 60 минут), в зависимости от пожеланий слушателей. После каждого модуля слушателям будет выдано ДЗ с дедлайном 10 дней, которое будет оцениваться по 100-балльной шкале. В конце всех модулей будет выдан большой практический проект на 2-3 недели (для Георгия, Игоря и Артемия — обязательно, для остальных по желанию).

Всего будет три модуля. В модуле 2-3 лекции, после каждой из которых будет даваться квиз на 10 вопросов к следующей лекции. Квиз будет оцениваться (!), как и ДЗ в конце каждого модуля.

Третий модуль (доп главы) обязателен только для Георгия Артемия и Игоря. Для них будут индивидуальные проекты на 2-3 недели, которые будут включать эти доп главы. Для остальных проекта не будут, но они смогут прослушать лекции по доп. главам (без оценивания) — соответствующая информация будет записана в диплом.

Первый модуль — Введение, статистики и графики

Второй модуль — Базовый анализ данных

Третий модуль — Доп. главы / miscellaneous (не оценивается, но обяз. для А Г И)

ДЗ после модуля и квизов между лекциями не будет! Только обязательный проект для А Г И

  1. Написание скриптов
  2. Визуализация многомерных данных
  3. Регулярки
  4. Анализ временных рядов
  5. Q & A
  6. Обсуждение проекта с А Г И

Финальный проект (только для А Г И).

1 ноября — 21 ноября. Обсуждение итогов в конце ноября.

Выдача сертификатов всем — в начале декабря.

Расписание (примерное)

21-27 сент — Питон

28-4 окт — М1

12-18 окт — М2

26-31 окт — М3

Расписание может меняться в зависимости от загруженности ключевых участников (А Г И)