Введение в анализ данных — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Экзамен)
 
(не показано 11 промежуточных версии 5 участников)
Строка 108: Строка 108:
  
 
Лекция 11 (07.04.2021). Решающие деревья. Поиск лучших предикатов и критерии информативности. Жадный алгоритм построения дерева. [[https://github.com/hse-ds/iad-intro-ds/blob/master/2021/lectures/lecture11-trees.pdf Слайды]] [[https://www.youtube.com/watch?v=H-xIuocK4oY Запись лекции]]
 
Лекция 11 (07.04.2021). Решающие деревья. Поиск лучших предикатов и критерии информативности. Жадный алгоритм построения дерева. [[https://github.com/hse-ds/iad-intro-ds/blob/master/2021/lectures/lecture11-trees.pdf Слайды]] [[https://www.youtube.com/watch?v=H-xIuocK4oY Запись лекции]]
 +
 +
Лекция 12 (14.04.2021). Неустойчивость решающих деревьев. Разложение ошибки на смещение и разброс. Бэггинг. Случайный лес. [[https://github.com/hse-ds/iad-intro-ds/blob/master/2021/lectures/lecture12-ensembles.pdf Слайды]] [[https://www.youtube.com/watch?v=JrA7O0Q_BFU Запись лекции]]
 +
 +
Лекция 13 (21.04.2021). Градиентный бустинг. Последовательное обучение моделей на MSE. Общий вид градиентного бустинга. [[https://github.com/hse-ds/iad-intro-ds/blob/master/2021/lectures/lecture13-ensembles.pdf Слайды]] [[https://www.youtube.com/watch?v=E6o-gwhs1ek Запись лекции]]
 +
 +
Лекция 14 (12.05.2021). Градиентный бустинг. Регуляризация. Основные гиперпараметры. Вариации бустинга. [[https://github.com/hse-ds/iad-intro-ds/blob/master/2021/lectures/lecture14-ensembles.pdf Слайды]] [[https://www.youtube.com/watch?v=HjZ8uQUxXpo Запись лекции]]
 +
 +
Лекция 15 (19.05.2021). Отбор признаков. Одномерные методы. Отбор на основе моделей. Метод главных компонент. [[https://github.com/hse-ds/iad-intro-ds/blob/master/2021/lectures/lecture15-reduction.pdf Слайды]] [[https://www.youtube.com/watch?v=6Zn6BSClyno Запись лекции]]
 +
 +
Лекция 16 (26.05.2021). Кластеризация. K-Means. DBSCAN. Представления слов. Тематическое моделирование. [[https://github.com/hse-ds/iad-intro-ds/blob/master/2021/lectures/lecture16-clustering.pdf Слайды]] [[https://www.youtube.com/watch?v=j_1F7eo_stE Запись лекции]]
  
 
== Семинары ==
 
== Семинары ==
Строка 130: Строка 140:
  
 
Семинар 10: Обработка текстов. [[https://github.com/hse-ds/iad-intro-ds/blob/master/2021/seminars/sem10_texts.ipynb Ноутбук]]
 
Семинар 10: Обработка текстов. [[https://github.com/hse-ds/iad-intro-ds/blob/master/2021/seminars/sem10_texts.ipynb Ноутбук]]
 +
 +
Семинар 11: Калибровка вероятностей. [[https://github.com/hse-ds/iad-intro-ds/blob/master/2021/seminars/sem11_multiclass_calibration.ipynb Ноутбук]]
 +
 +
Семинар 12: Решающие деревья. [[https://github.com/hse-ds/iad-intro-ds/blob/master/2021/seminars/sem12_trees/sem12_trees.ipynb Ноутбук]]
 +
 +
Семинар 13: Случайный лес. [[https://github.com/hse-ds/iad-intro-ds/blob/master/2021/seminars/sem13_rf.ipynb Ноутбук]]
 +
 +
Семинар 14: Бустинг, часть 1. [[https://github.com/hse-ds/iad-intro-ds/blob/master/2021/seminars/sem14_boosting_part1.ipynb Ноутбук]]
 +
 +
Семинар 15: Бустинг, часть 2. [[https://github.com/hse-ds/iad-intro-ds/blob/master/2021/seminars/sem15_boostings/sem15_boostings_part2.ipynb Ноутбук]]
 +
 +
Семинар 16: Задача понижения размерности. Генерация признаков. [[https://github.com/hse-ds/iad-intro-ds/blob/master/2021/seminars/sem16_features/sem16_pca_features.ipynb Ноутбук]]
 +
 +
Семинар 17: Кластеризация. [[https://github.com/hse-ds/iad-intro-ds/blob/master/2021/seminars/sem17_clustering.ipynb Ноутбук]]
  
 
== Практические задания ==
 
== Практические задания ==
Строка 172: Строка 196:
  
 
'''Дедлайн''': мягкий дедлайн 23 апреля 23:59, жёсткий дедлайн 28 апреля 23:59.
 
'''Дедлайн''': мягкий дедлайн 23 апреля 23:59, жёсткий дедлайн 28 апреля 23:59.
 +
 +
==== ДЗ 7. Деревья ====
 +
 +
[[https://github.com/hse-ds/iad-intro-ds/tree/master/2021/homeworks/hw07-trees-rf Ноутбук для заполнения]]
 +
 +
'''Дедлайн''': мягкий дедлайн 1 июня 23:59, жёсткий дедлайн 8 июня 23:59.
 +
 +
==== ДЗ 8. Бустинг и кластеризация ====
 +
 +
[[https://github.com/hse-ds/iad-intro-ds/blob/master/2021/homeworks/hw08_boosting_clustering.ipynb Ноутбук для заполнения]]
 +
 +
'''Дедлайн''': мягкий дедлайн 16 июня 23:59, жёсткий дедлайн 19 июня 23:59.
  
 
== Соревнования ==
 
== Соревнования ==
Строка 210: Строка 246:
 
== Экзамен ==
 
== Экзамен ==
  
Вопросы: https://docs.google.com/document/d/18kMS1f7NsdGEZy62MgfTGdgSq4P-6DVcnwr1ZJPLAqE/edit?usp=sharing
+
Вопросы: https://docs.google.com/document/d/1VLDHSRsivy9KjzpBviErTq73rHpeRy_m1jXW6F_YFbg/edit?usp=sharing
  
 
[https://github.com/esokolov/ml-minor-hse/blob/master/exam-2017/exam_problems_example.pdf Примеры задач прошлого года] (также могут войти задачи из коллоквиума)
 
[https://github.com/esokolov/ml-minor-hse/blob/master/exam-2017/exam_problems_example.pdf Примеры задач прошлого года] (также могут войти задачи из коллоквиума)

Текущая версия на 23:19, 8 июня 2021

О курсе

Курс читается для студентов 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 учебный год