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

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск

О курсе

Курс читается для студентов 2-го курса майнора ИАД в 3-4 модулях.

Проводится с 2015 года.

Лектор: Соколов Евгений Андреевич

Лекции проходят онлайн по средам в 11:10.

Полезные ссылки

Карточка курса и программа

Репозиторий с материалами на GitHub

Записи занятий

Почта для сдачи домашних заданий (на самом деле задания сдаются в AnyTask, но если он не работает, то присылайте на почту): hse.minor.dm+<номер группы>@gmail.com (например, hse.minor.dm+3@gmail.com)

Канал в telegram для объявлений: https://t.me/hs_iad_2021

Чат в telegram для флуда: https://t.me/joinchat/Vuq4Lgi98RG22fQP

Ссылка на курс в Anytask: https://anytask.org/course/779

Таблица с оценками: https://docs.google.com/spreadsheets/d/13aZ9aQAqa0QUTniqAkPMlirWqPq6DfLwpIra2HJLwhk/edit?usp=sharing

Семинары

Группа Преподаватель Учебные ассистенты Zoom-конференция Ссылка на чат Материалы семинаров Инвайт в anytask
ИАД-1 Илья Косарев Саночкин Юрий, Пащенко Анатолий Zoom Чат Материалы GrodXoV
ИАД-2 Надежда Чиркова Екатерина Кострыкина, Александра Штарёва Zoom Чат Материалы hHA6uvN
ИАД-3 Елена Кантонистова Михаил Олейник, Никита Патов Zoom Чат ewfZ2I8
ИАД-4 Артём Филатов Валерий Айхенвальд, Анастасия Бир Zoom Чат 4TUKO0v
ИАД-5 Владимир Омелюсик Аня Аксенова, Александр Габиташвили Zoom Чат Материалы Kre5emJ
ИАД-6 Ася Карпова Елена Гринкевич, Егор Масликов Zoom Чат nSuRKac
ИАД-7 Тамерлан Таболов Николай Аверьянов, Сергей Тихонов, Никита Крайко Zoom Чат HO7xViO
БИ-1 Антон Семёнкин Дарья Морозова, Михаил Никифоров Zoom Чат aQWW7It
БИ-2 Илья Косарев Гусева Полина, Такташева Екатерина Zoom Чат Материалы QFII7j8

Правила выставления оценок

В курсе предусмотрено несколько форм контроля знания:

  • Самостоятельные работы на семинарах, проверяющие знание основных фактов с лекций и семинаров
  • Практические домашние работы на Python
  • Контрольная где-то в середине курса
  • Письменный экзамен

Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен:

Oитоговая = Округление(0.4 * ДЗ + 0.1 * ПР + 0.2 * КР + 0.3 * Э)

ДЗ — средняя оценка за практические домашние задания

ПР — средняя оценка за письменные проверочные работы на семинарах

КР — оценка за контрольную работу

Э — оценка за экзамен

Округление арифметическое.

Правила сдачи заданий

За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются. Даже при опоздании на одну секунду. Сдавайте заранее.

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

При наличии уважительной причины пропущенную проверочную можно написать позднее, а дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.

Лекции

Лекция 1 (20.01.2021). Введение в машинное обучение и анализ данных. [Слайды] [Запись лекции]

Лекция 2 (27.01.2021). Основные постановки задач. Метод k ближайших соседей. Измерение ошибки в задачах классификации. [Слайды] [Запись лекции]

Лекция 3 (03.02.2021). Переобучение и обобщающая способность. Проверка обобщающей способности: отложенная выборка и кросс-валидация. Метод k ближайших соседей с весами. [Слайды] [Запись лекции]

Лекция 4 (10.02.2021). kNN для регрессии. Модель линейной регрессии. Подготовка данных для линейной регрессии. [Слайды] [Запись лекции]

Лекция 5 (17.02.2021). MSE для линейной регрессии в матричной форме. Аналитическая формула для оптимального вектора весов, её недостатки. Регуляризация линейных моделей. [Слайды] [Запись лекции]

Лекция 6 (24.02.2021). Интерпретация весов из линейной модели. Градиентый спуск. Мультистарт. Выбор длины шага. [Слайды] [Запись лекции]

Лекция 7 (3.03.2021). Стохастический градиентный спуск. Функции потерь в задачах регрессии. Линейный классификатор. Отступ. [Слайды] [Запись лекции]

Лекция 7.5 (в записи). Относительная ошибка в регрессии (MAPE, SMAPE). Метрики качества классификации: доля верных ответов, точность, полнота. Объединение точности и полноты, F-мера. [Слайды] [Запись лекции]

Лекция 8 (10.03.2021). Обучение линейных классификаторов через верхние оценки на функцию потерь. Метрики качества ранжирования: PR-кривая и ROC-кривая, площади под ними. [Слайды] [Запись лекции]

Лекция 9 (17.03.2021). Логистическая регрессия. Оценивание вероятностей. Логистическая функция потерь. [Слайды] [Запись лекции]

Лекция 10 (24.03.2021). Метод опорных векторов. Многоклассовая классификация. [Слайды] [Запись лекции]

Лекция 11 (07.04.2021). Решающие деревья. Поиск лучших предикатов и критерии информативности. Жадный алгоритм построения дерева. [Слайды] [Запись лекции]

Лекция 12 (14.04.2021). Неустойчивость решающих деревьев. Разложение ошибки на смещение и разброс. Бэггинг. Случайный лес. [Слайды] [Запись лекции]

Лекция 13 (21.04.2021). Градиентный бустинг. Последовательное обучение моделей на MSE. Общий вид градиентного бустинга. [Слайды] [Запись лекции]

Лекция 14 (12.05.2021). Градиентный бустинг. Регуляризация. Основные гиперпараметры. Вариации бустинга. [Слайды] [Запись лекции]

Лекция 15 (19.05.2021). Отбор признаков. Одномерные методы. Отбор на основе моделей. Метод главных компонент. [Слайды] [Запись лекции]

Лекция 16 (26.05.2021). Кластеризация. K-Means. DBSCAN. Представления слов. Тематическое моделирование. [Слайды] [Запись лекции]

Семинары

Семинар 1: pandas; основы работы с таблицами, вычисление статистик, устранение пропусков. [Ноутбук]

Семинар 2: numpy и основы линейной алгебры. [Ноутбук]

Семинар 3: Визуализация данных. [Ноутбук]

Семинар 4: Объектно-ориентированное программирование в Python. [Ноутбук]

Семинар 5: Введение в sklearn. KNN. [Ноутбук]

Семинар 6: Линейная регрессия, функции потерь регресии, регуляризация. [Ноутбук]

Семинар 7: Градиентный спуск. [Ноутбук]

Семинар 8: Линейная классификация. [Ноутбук]

Семинар 9: Логистическая регрессия и SVM. [Ноутбук]

Семинар 10: Обработка текстов. [Ноутбук]

Семинар 11: Калибровка вероятностей. [Ноутбук]

Семинар 12: Решающие деревья. [Ноутбук]

Семинар 13: Случайный лес. [Ноутбук]

Семинар 14: Бустинг, часть 1. [Ноутбук]

Семинар 15: Бустинг, часть 2. [Ноутбук]

Семинар 16: Задача понижения размерности. Генерация признаков. [Ноутбук]

Семинар 17: Кластеризация. [Ноутбук]

Практические задания

За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются, но есть исключение. В течение семестра каждый студент может не более 2 раз сдать задание после жёсткого дедлайна — в этом случае за каждый день просрочки продолжает вычитаться по одному баллу (если не оговорено иное).

В некоторых группах домашние задания могут отличаться. Уточняйте у семинариста.

ДЗ 1. pandas

[Ноутбук для заполнения и данные]

Дедлайн: мягкий дедлайн 26 января 23:59, жесткий дедлайн 30 января 23:59.

ДЗ 2. numpy

[Ноутбук для заполнения]

Дедлайн: мягкий дедлайн 2 февраля 23:59, жёсткий дедлайн 6 февраля 23:59.

ДЗ 3. EDA и подготовка данных

[Ноутбук для заполнения]

Дедлайн: мягкий дедлайн 17 февраля 23:59, жёсткий дедлайн 21 февраля 23:59.

ДЗ 4. kNN и линейная регрессия

[Ноутбук для заполнения]

Дедлайн: мягкий дедлайн 10 марта 23:59, жёсткий дедлайн 14 марта 23:59.

ДЗ 5. Градиентный спуск

[Ноутбук для заполнения]

Дедлайн: мягкий дедлайн 6 апреля 23:59, жёсткий дедлайн 10 апреля 23:59.

ДЗ 6. Работа с текстами

[Ноутбук для заполнения]

Дедлайн: мягкий дедлайн 23 апреля 23:59, жёсткий дедлайн 28 апреля 23:59.

ДЗ 7. Деревья

[Ноутбук для заполнения]

Дедлайн: мягкий дедлайн 1 июня 23:59, жёсткий дедлайн 8 июня 23:59.

ДЗ 8. Бустинг и кластеризация

[Ноутбук для заполнения]

Дедлайн: мягкий дедлайн 16 июня 23:59, жёсткий дедлайн 19 июня 23:59.

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

Правила участия и оценивания

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

Студент, занявший в соревновании место i, получает оценку

10 - 10 * (i - 1) / M,

где M — количество студентов, принявших участие в соревновании;

i — место (начиная с 1) студента в приватном лидерборде среди всех таких студентов.

Чтобы вас не пропустили при проверке решений соревнования, необходимо использовать следующий формат для имени команды (вкладка Team):

«Имя Фамилия номер_группы»

В течение 3 суток после окончания соревнования в соответствующее задание на anytask необходимо прислать код, воспроизводящий ответы для посылки, фигурирующей в приватном лидерборде. В случае отсутствия кода, воспроизводящего результат, в установленный срок студенту выставляется 0 в качестве оценки за соревнование. Если не оговорено иное, использовать любые внешние данные в соревнованиях запрещено. Под внешними данными понимаются размеченные данные, где разметка имеет прямое отношение к решаемой задаче. Грубо говоря, сборник текстов с википедии не считается внешними данными.

Контрольная работа

Контрольная работа состоится 21 апреля на лекции в 11:10.

Вопросы для подготовки: https://docs.google.com/document/d/1RJ0P-XcpWRqmXW4mD9uSHKTJBcQiEp1nMoTCCqIO-Hg/edit?usp=sharing

Демо-вариант

На контрольной будет 4 вопроса. Два из них — по теории, где нужно будет объяснить одну из тем, разобранных на лекциях, или ответить на вопросы на понимание. Два вопроса — это задачи, примеры приведены ниже (но это просто для тренировки, список не исчерпывающий).

Примеры задач:

Экзамен

Вопросы: https://docs.google.com/document/d/1VLDHSRsivy9KjzpBviErTq73rHpeRy_m1jXW6F_YFbg/edit?usp=sharing

Примеры задач прошлого года (также могут войти задачи из коллоквиума)

Полезные материалы

Курсы по машинному обучению и анализу данных

Максимально близко к материалам курса: Специализация "Машинное обучение: от статистики до нейросетей" (речь про два курса: "Основы машинного обучения" и "Продвинутые методы машинного обучения")

Для тех, кто хочет подтянуть математику: Специализация "Математика для анализа данных"

Более сложная версия этого курса с ПМИ: Машинное обучение 1

Ещё материалы:

Статьи

Книги

  • Mohammed J. Zaki, Wagner Meira Jr. Data Mining and Analysis. Fundamental Concepts and Algorithms. Cambridge University Press, 2014.
  • Boris Mirkin. Core Concepts in Data Analysis: Summarization, Correlation, Visualization. 2010.
  • James, Witten, Hastie, Tibshirani. An Introduction to Statistical Learning. 2013.

Страницы прошлых лет

2019/20 учебный год

2018/19 учебный год

2017/18 учебный год

2016/17 учебный год

2015/16 учебный год