основы машинного обучения вшэ
Программа «Основы машинного обучения и продвинутые методы машинного обучения»
Программа помогает получить базовые компетенции аналитика данных, среди которых адекватный выбор метода для решения конкретной задачи анализа данных, предобработка данных, настройка параметров метода анализа и интерпретация полученных результатов. Содержание программы охватывает основные устоявшиеся разделы современного машинного обучения (Machine Learning) и майнинга данных (Data Mining).
Теоретический материал подкрепляется большим количеством практических занятий, домашних заданий и соревнованиями на Kaggle.
Основные темы модулей:
Преподаватели модуля:
Елена Кантонистова
Окончила механико-математический факультет МГУ, кандидат физико-математических наук по специальности «Дифференциальная геометрия». Окончила школу анализа данных Яндекса, направление «Компьютерные науки».
С 2017 года является приглашенным преподавателем факультета компьютерных наук ВШЭ, преподает курсы по машинному обучению и анализу данных на различных факультетах ВШЭ. Также занимает должность ведущего data scientist в консалтинговой компании UCG.
Анвар Курмуков
Младший научный сотрудник ИППИ РАН.
Окончил факультет компьютерных наук по специальности «Прикладная математика и информатика».
Лауреат премии им. Ильи Сегаловича.
Научные интересы: machine learning, neuroimaging
Основы машинного обучения
понадобится для освоения
для зачета в своем вузе
Курс посвящён основам анализа данных и машинного обучения. По результатам слушатели освоят способы предобработки и визуализации данных, изучат основные методы машинного обучения (линейные, метрические, решающие деревья и их композиции), научатся оценивать качество моделей. Курс пригодится всем, кто хочет «с нуля» погрузиться в область машинного обучения, получить первые практические навыки и начать применять их для решения собственных задач по извлечению пользы из данных.
О курсе
Курс посвящён основам анализа данных и машинного обучения. По результатам слушатели освоят способы предобработки и визуализации данных, изучат основные методы машинного обучения (линейные, метрические, решающие деревья и их композиции), научатся оценивать качество моделей. Практика проходит на языке Python и основана на библиотеках pandas, matplotlib, scikit-learn. Для успешного прохождения курса требуются знания математики на уровне школьных курсов, а также навыки программирования на Python. Контроль на курсе представлен в виде заданий на программирования, заданий на построение выводов (проверяются с помощью взаимного оценивания), а также тестов на знание теоретического материала.
Формат
Курс состоит из 11 недель, каждая включает в себя несколько коротких видеолекций (суммарная продолжительность — от 60 до 90 минут), тест на знание теоретического материала (5-15 вопросов), а также тест, включающий в себя выполнение задания по программированию. На некоторых неделях задание по программированию заменено заданием на взаимное оценивание. В конце курса предусмотрен итоговый экзамен, состоящий из тестов.
Информационные ресурсы
Python, библиотеки numpy, pandas, matplotlib, seaborn, scikit-learn
Требования
Освоение школьного курса математики, навыки программирования на Python
Программа курса
понадобится для освоения
для зачета в своем вузе
Соколов Евгений Андреевич
Должность: Старший преподаватель факультета компьютерных наук, Департамент больших данных и информационного поиска
Зимовнов Андрей Вадимович
Должность: Старший преподаватель факультета компьютерных наук, Департамент больших данных и информационного поиска
Ковалев Евгений Игоревич
Должность: Приглашенный преподаватель факультета компьютерных наук, Департамент больших данных и информационного поиска
Кохтев Вадим Михайлович
Должность: Приглашенный преподаватель факультета компьютерных наук, Департамент больших данных и информационного поиска
Рысьмятова Анастасия Александровна
Магистр
Должность: Приглашенный преподаватель факультета компьютерных наук, Департамент больших данных и информационного поиска
Филатов Артём Андреевич
Должность: Приглашенный преподаватель факультета компьютерных наук, Департамент больших данных и информационного поиска
Машинное обучение
курс повышения квалификации
Машинное обучение — один из самых востребованных разделов компьютерных наук. Именно с помощью машинного обучения сейчас удаётся строить рекомендательные системы для видео, прогнозировать спрос на тысячи товаров и автоматически обрабатывать огромные потоки писем в службе поддержки.
Чему научитесь
Программа
Что узнаете за 16 занятий
Занятия проходят раз в неделю. Каждое занятие состоит из теоретической и практической части. На теоретической части преподаватель объясняет, как работают методы машинного обучения, какие математика и алгоритмы за ними стоят. На практической части слушатели работают с данными и решают реальные задачи с помощью Python и его библиотек. После каждого пройденного раздела выдаётся домашнее задание, которое поможет закрепить полученные навыки.
Введение в машинное обучение
Основные типы задач, процесс обучения и валидации модели. Градиентные методы обучения
Линейные методы машинного обучения
Линейная регрессия. Линейная классификация и метрики качества классификации. Логистическая регрессия
Продвинутые методы машинного обучения
Работа с категориальными признаками и текстами. Решающие деревья и другие нелинейные алгоритмы. Бэггинг и случайные леса. Градиентный бустинг. Градиентный бустинг: имплементации
Работа с признаками и другие задачи машинного обучения
Отбор признаков и понижение размерности. Кластеризация и визуализация. Статистика в машинном обучении. Соревнования в машинном обучении
Машинное обучение 1
Содержание
О курсе
Курс читается для студентов 3-го курса ПМИ ФКН ВШЭ в 1-2 модулях.
Проводится с 2016 года.
Полезные ссылки
Почта для сдачи домашних заданий (на самом деле задания сдаются в AnyTask, но если он не работает, то присылайте на почту): hse.cs.ml+ @gmail.com (например, hse.cs.ml+171@gmail.com)
Чат в telegram для обсуждений (предназначение чата до конца не ясно, вопросы может быть правильнее задавать в чатах групп): https://t.me/joinchat/NRpKJ09prtRlMTli
Оставить отзыв на курс: форма
Вопросы по курсу можно задавать в телеграм лектору (esokolov@) или семинаристу. Вопросы по материалам лекций/семинаров и по заданиям лучше всего задавать на форуме.
Семинары
| Группа | Преподаватель |
|---|---|
| 191 (МОП) | Хрушков Павел Вадимович |
| 192 (МОП) | Соколов Евгений Андреевич |
| 193 (МОП) | Садртдинов Ильдус Рустемович |
| 194 (АДИС) | Цвигун Аким Олегович |
| 195 (РС) | Каюмов Эмиль Марселевич |
| 196 (РС) | Шабалин Александр Михайлович |
| 197 (АПР) | Глазкова Екатерина Васильевна |
| 198 (ТИ) | Ульянкин Филипп @ppilif |
| 199 (МИ) | Семенкин Антон Александрович |
| 1910 (ПР) | Биршерт Алексей Дмитриевич |
| ФЭН | Зехов Матвей Сергеевич |
| Пермь (БИ) | Собянин Кирилл Валентинович |
| Пермь (ПИ) | Собянин Кирилл Валентинович |
Консультации
Правила выставления оценок
В курсе предусмотрено несколько форм контроля знания:
Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен:
Итог = Округление(0.15 * ПР + 0.4 * ДЗ + 0.15 * КР + 0.3 * Э)
ПР — средняя оценка за самостоятельные работы на семинарах
ДЗ — средняя оценка за практические домашние работы на Python
КР — оценка за контрольную работу
Э — оценка за экзамен
Правила сдачи заданий
За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются. Даже при опоздании на одну секунду. Сдавайте заранее. Есть исключение: в течение семестра каждый студент может не более 2 раз сдать задание после жёсткого дедлайна — в этом случае за каждый день просрочки продолжает вычитаться по одному баллу (если не оговорено иное).
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.
При наличии уважительной причины пропущенную проверочную можно написать позднее, а дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.
Лекции
Ко всем конспектам на GitHub есть исходники. Исправления и дополнения всячески приветствуются!
Лекция 1 (3 сентября). Введение в машинное обучение. Основные термины, постановки задач и примеры применения. [Конспект] [Запись лекции]
Лекция 2 (10 сентября). Модель линейной регрессии. Подготовка данных для линейных моделей. Измерение ошибки в задачах регрессии. Устойчивые к выбросам функции потерь. Относительные функции потерь. [Конспект] [Запись лекции]
Лекция 3 (17 сентября). Переобучение. Отложенная выборка и кросс-валидация. Аналитическое решение для линейной регрессии и MSE. Градиентный спуск. [Конспект] [Запись лекции]
Лекция 4 (24 сентября). Стохастический градиентный спуск. SAG, Momentum, AdaGrad, Adam. Регуляризация линейных моделей. [Конспект] [Запись лекции]
Лекция 5 (1 октября). Разреженные линейные модели. Линейные классификаторы. Обучение линейных классификаторов через верхние оценки на пороговую функцию потерь. [Конспект] [Запись лекции]
Лекция 6 (8 октября). Метрики качества классификации. Доля верных ответов. Точность, полнота, F-мера и другие способы усреднения. ROC-кривая и PR-кривая, площади под ними. [Конспект] [Запись лекции]
Лекция 7 (15 октября). Оценивание вероятностей. Логистическая регрессия. [Конспект] [Запись лекции]
Семинары
Семинар 1. Типы данных и виды задач машинного обучения [Ноутбук]. Библиотека pandas [Ноутбук].
Семинар 2. Исследование данных. Библиотека scikit-learn. Подготовка данных для линейных моделей. [Ноутбук]
Практические задания
Задание 1. Pandas и распределение студентов ПМИ по элективам.
Мягкий дедлайн: 25.09.2021 23:59 MSK.
Жесткий дедлайн: 28.09.2021 23:59 MSK.
Задание 2. Разведочный анализ данных, линейная регрессия и разработка признаков.
Мягкий дедлайн: 11.10.2021 23:59 MSK.
Жесткий дедлайн: 14.10.2021 23:59 MSK.
Задание 3. Градиентный спуск своими руками.
Мягкий дедлайн: 27.10.2021 23:59 MSK.
Жесткий дедлайн: 29.10.2021 23:59 MSK.
Задание 4. Градиентный спуск своими руками.
Мягкий дедлайн: 10.11.2021 23:59 MSK.
Жесткий дедлайн: 13.11.2021 23:59 MSK.
Теоретические домашние задания
Теоретические ДЗ не проверяются, но задачи из них могут войти в проверочные работы на семинарах.
Соревнования
Правила участия и оценивания
В соревновании по анализу данных вам предлагается по имеющимся данным решить некоторую задачу, оптимизируя указанную метрику, и отправить ответы для заданного тестового множества. Максимальное количество посылок в сутки ограничено (как правило, разрешается сделать 2 посылки), ближе к концу соревнования вам будем необходимо выбрать 2 посылки, которые вы считаете лучшими. Тестовые данные делятся на публичные и приватные в некотором соотношении, на основе которых строятся публичный и приватный лидерборды соответственно, при этом публичный лидерборд доступен в течение всего соревнования, а приватный строится после его окончания для выбранных вами посылок.
В лидербордах каждого из соревнований присутствуют несколько базовых решений (бейзлайнов), каждое из которых соответствует определённой оценке. Например, для получения оценки не ниже 8 баллов необходимо, чтобы ваше решение на приватном лидерборде оказалось лучше соответствующего бейзлайна. Далее для студента, преодолевшего бейзлайн на N_1 баллов, но не преодолевшего бейзлайн на N_2 балла, итоговая оценка за соревнование рассчитывается по равномерной сетке среди всех таких студентов в зависимости от места в приватном лидерборде среди них; если быть точными, то по следующей формуле:
где M — количество студентов (из всех студентов, изучающих курс), преодолевших бейзлайн на N_1 баллов, но не преодолевших бейзлайн на N_2 балла;
i — место (начиная с 1) студента в приватном лидерборде среди всех таких студентов.
Единственное исключение из формулы — студенты, преодолевшие самый сильный бейзлайн, получают прибавку 1/M к своей оценке.
Чтобы вас не пропустили при проверке решений соревнования, необходимо использовать следующий формат для имени команды (вкладка Team):
«[ПМИ] Имя Фамилия номер_группы»
В течение 3 суток после окончания соревнования в соответствующее задание на anytask необходимо прислать код, воспроизводящий ответы для посылки, фигурирующей в приватном лидерборде. При оформлении кода предполагайте, что данные лежат рядом с ним в папке data, а в результате выполнения кода ответы должны быть записаны в файл solution-N-Username.csv, где N — номер соревнования, Username — ваша фамилия. У нас должна быть возможность запустить код и получить те же ответы, что и в вашей посылке, — в частности, это означает, что:
1. Если вы отправляете файл *.py, мы будем запускать его при помощи команды python *.py в вышеуказанном предположении о местонахождении данных.
2. Если вы отправляете ноутбук *.ipynb, мы последовательно запустим все ячейки ноутбука и будем ожидать в результате его работы формирование файла с ответами.
3. Если вы отправляете код с использованием другого языка программирования, в том же письме направьте нам инструкцию по его запуску с тем, чтобы получить тот же файл с ответами.
В случае отсутствия кода, воспроизводящего результат, в установленный срок студенту выставляется 0 в качестве оценки за соревнование. Студенты, попавшие в топ-3 согласно приватному лидерборду, смогут получить бонусные баллы, если в течение недели после окончания соревнования сдадут в anytask отчет о получении решения, фигурирующего в приватном лидерборде. Если не оговорено иное, использовать любые внешние данные в соревнованиях запрещено. Под внешними данными понимаются размеченные данные, где разметка имеет прямое отношение к решаемой задаче. Грубо говоря, сборник текстов с википедии не считается внешними данными.
В некоторых соревнованиях данные взяты из завершившегося соревнования на Kaggle. Категорически запрещено использовать данные из оригинального соревнования для восстановления целевой переменной на тестовой выборке.
Соревнование 1
Бонусы за соревнования
За успешное участие в соревнованиях по анализу данных могут быть выставлены бонусные баллы, которые можно прибавить к оценке за любое практическое или теоретическое домашнее задание, а также за самостоятельную работу. Под успешным участием понимается попадание в топ-10% мест; если соревнование особо сложное и крупное, может рассматриваться и попадание в топ-20% мест. Конкретное число баллов определяется преподавателями и зависит от сложности соревнования и занятого места. За одно соревнование можно получить не более 5 баллов. Для получения оценки необходимо предоставить краткий отчёт о решении задачи.
Машинное обучение 2
Содержание
О курсе
Курс читается для студентов 3-го курса ПМИ ФКН ВШЭ в 3-4 модулях.
Проводится с 2016 года.
Полезные ссылки
Почта для сдачи домашних заданий (на самом деле задания сдаются в AnyTask, но если он не работает, то присылайте на почту): hse.cs.ml+ @gmail.com (например, hse.cs.ml+161@gmail.com)
Канал в telegram для объявлений: https://t.me/hse_cs_ml_2
Чат в telegram для обсуждений (предназначение чата до конца не ясно, вопросы может быть правильнее задавать в чатах групп): https://t.me/joinchat/E8grJC7Gn4nLuEv2
Оставить отзыв на курс: форма
Вопросы по курсу можно задавать на почту курса, а также в телеграм лектору (esokolov@) или семинаристу. Вопросы по материалам лекций/семинаров и по заданиям лучше всего оформлять в виде Issue в github-репозитории курса.
Семинары
| Группа | Преподаватель | Учебный ассистент |
|---|---|---|
| 181 (МОП) | Зиннурова Эльвира Альбертовна | Лёша Биршерт, Илья Анищенко |
| 182 (МОП) | Соколов Евгений Андреевич | Ильдус Садртдинов |
| Курс по выбору для ПМИ | Каюмов Эмиль Марселевич | Игорь Федоров |
| Межампус | Трошин Сергей Дмитриевич | Шабалин Евгений |
Правила выставления оценок
В курсе предусмотрено несколько форм контроля знания:
Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен:
Итог = Округление(0.4 * ДЗ + 0.2 * К + 0.1 * ПР + 0.3 * Э)
ПР — средняя оценка за самостоятельные работы на семинарах
ДЗ — средняя оценка за практические домашние работы на Python
К — оценка за коллоквиум
Э — оценка за экзамен
Правила сдачи заданий
За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются. Даже при опоздании на одну секунду. Сдавайте заранее. Есть исключения, о них написано ниже.
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.
При наличии уважительной причины пропущенную проверочную можно написать позднее, а дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.
Лекции
Ко всем конспектам на GitHub есть исходники. Исправления и дополнения всячески приветствуются!
Лекция 1 (22 января). Двойственные представления для линейной регрессии и SVM. Ядра. Теорема Мерсера. Способы построения ядер. Полиномиальные и гауссовы ядра. [Конспект] [Запись лекции]
Лекция 2 (29 января). Двойственная задача SVM. Типы объектов в SVM. Kernel trick. Аппроксимации ядер. Метод случайных признаков Фурье. [Конспект] [Запись лекции]
Лекция 3 (5 февраля). Смеси распределений. Модели со скрытыми переменными. KL-дивергенция. EM-алгоритм в общем виде, его сходимость. [Конспект] [Запись лекции]
Лекция 4 (12 февраля). Поиск аномалий. Методы на основе восстановления плотности. Local Outlier Factor. [Конспект] [Запись лекции]
Лекция 5 (19 февраля). Поиск аномалий. Одноклассовый SVM. Isolation Forest. Методы кластеризации. DBSCAN. [Конспект по аномалиям] [Запись лекции]
Лекция 6 (26 февраля). Методы кластеризации. Иерархическая кластеризация. Графовые методы. Спектральная кластеризация. [Конспект] [Запись лекции]
Лекция 7 (5 марта). Внешние метрики качества кластеризации. Тематическое моделирование. [Конспект по тематическому моделированию] [Запись лекции]
Лекция 8 (12 марта). Частичное обучение. Self-training. Вероятностные методы. S3VM. Регуляризация на основе лапласиана графа. [Конспект] [Запись лекции]
Лекция 9 (19 марта). Метод k ближайших соседей. Расстояния на текстах. Быстрый поиск ближайших соседей. Locality-sensitive hashing. [Конспект] [Запись лекции]
Лекция 10 (26 марта). Быстрый поиск ближайших соседей. Locality-sensitive hashing. NSW и HNSW. [Запись лекции]
Лекция 11 (9 апреля). Задача ранжирования. Метрики качества ранжирования. Примеры факторов ранжирования. Поточечный, попарный и списочный подходы. [Конспект] [Запись лекции]
Лекция 12 (23 апреля). Рекомендательные системы. Типичная архитектура рекомендательной системы. Memory-based подход. Методы на основе матричных разложений. [Конспект] [Запись лекции]
Лекция 13 (30 апреля). Рекомендательные системы. Свойства моделей, основанных на матричных разложениях. Неявная информация и iALS. Контентные модели. [Конспект] [Запись лекции]
Лекция 14 (14 мая, гостевая лекция, Дмитрий Симаков). AutoML. [Слайды] [Запись лекции]
Лекция 15 (21 мая). Рекомендательные системы. Холодные рекомендации. Метрики качества рекомендаций. [Конспект] [Запись лекции]
Лекция 16 (4 июня). Нейросетевые методы для табличных данных. [Запись лекции]
Семинары
Семинар 1. Задачи условной оптимизации и теорема Куна-Таккера. [Конспект]
Семинар 2. Задачи на построение ядер. Задачи на прямую и двойственную формулировки метода опорных векторов. [Конспект]
Семинар 3. Задачи на EM-алгоритм. [Конспект]
Семинар 4. Основы вероятностного подхода в машинном обучении. [Конспект]
Семинар 5. Спектральная кластеризация. [Конспект]
Семинар 6. Отбор признаков. Понижение размерности и PCA. [Конспект] [Конспект по PCA]
Семинар 7. Особенности метода k ближайших соседей. Метрики. [Конспект]
Семинар 8. Обучение метрик. [Конспект]
Семинар 9. Multi-label классификация. [Конспект]
Семинар 10. Попарные методы ранжирования. [Конспект]
Семинар 11. Uplift-моделирование.
Семинар 12. Матричные разложения в рекомендательных системах. Factorization machines. [Конспект]
Семинар 13. Интерпретация моделей. [Конспект]
Семинар 14. Differential privacy.
Теоретические задания
Теоретическое домашнее задание 5: ядровые методы [ссылка]
Теоретическое домашнее задание 6: EM-алгоритм [ссылка]
Практические задания
За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются, но есть исключение. В течение семестра каждый студент может не более 2 раз сдать задание после жёсткого дедлайна — в этом случае за каждый день просрочки продолжает вычитаться по одному баллу (если не оговорено иное).
Задание 8. Метод опорных векторов и аппроксимация ядер
Мягкий дедлайн: 21.02.2021 01:59.
Жесткий дедлайн: 24.02.2021 01:59.
Задание 9. ЕМ-алгоритм
Мягкий дедлайн: 09.03.2021 01:59
Жесткий дедлайн: 13.03.2021 01:59
Задание 10. Обучение без учителя
Мягкий дедлайн: 28.03.2021 01:59
Жёсткий дедлайн: 01.04.2021 01:59
Задание 11. Обучение метрик
Мягкий дедлайн: 14.04.2021 00:59
Жесткий дедлайн: 18.04.2021 00:59
Задание 12. Несбалансированные задачи
Мягкий дедлайн: 10.05.2021 00:59
Жесткий дедлайн: 14.05.2021 00:59
Задание 13. Поиск ближайших соседей
Жесткий дедлайн: 19.05.2021 05:59
Соревнования
Правила участия и оценивания
В соревновании по анализу данных вам предлагается по имеющимся данным решить некоторую задачу, оптимизируя указанную метрику, и отправить ответы для заданного тестового множества. Максимальное количество посылок в сутки ограничено (как правило, разрешается сделать 2 посылки), ближе к концу соревнования вам будем необходимо выбрать 2 посылки, которые вы считаете лучшими. Тестовые данные делятся на публичные и приватные в некотором соотношении, на основе которых строятся публичный и приватный лидерборды соответственно, при этом публичный лидерборд доступен в течение всего соревнования, а приватный строится после его окончания для выбранных вами посылок.
В лидербордах каждого из соревнований присутствуют несколько базовых решений (бейзлайнов), каждое из которых соответствует определённой оценке. Например, для получения оценки не ниже 8 баллов необходимо, чтобы ваше решение на приватном лидерборде оказалось лучше соответствующего бейзлайна. Далее для студента, преодолевшего бейзлайн на N_1 баллов, но не преодолевшего бейзлайн на N_2 балла, итоговая оценка за соревнование рассчитывается по равномерной сетке среди всех таких студентов в зависимости от места в приватном лидерборде среди них; если быть точными, то по следующей формуле:
где M — количество студентов (из всех студентов, изучающих курс), преодолевших бейзлайн на N_1 баллов, но не преодолевших бейзлайн на N_2 балла;
i — место (начиная с 1) студента в приватном лидерборде среди всех таких студентов.
Единственное исключение из формулы — студенты, преодолевшие самый сильный бейзлайн, получают прибавку 1/M к своей оценке.
Чтобы вас не пропустили при проверке решений соревнования, необходимо использовать следующий формат для имени команды (вкладка Team):
«Имя Фамилия номер_группы»
В течение 3 суток после окончания соревнования в соответствующее задание на anytask необходимо прислать код, воспроизводящий ответы для посылки, фигурирующей в приватном лидерборде. При оформлении кода предполагайте, что данные лежат рядом с ним в папке data, а в результате выполнения кода ответы должны быть записаны в файл solution-N-Username.csv, где N — номер соревнования, Username — ваша фамилия. У нас должна быть возможность запустить код и получить те же ответы, что и в вашей посылке, — в частности, это означает, что:
1. Если вы отправляете файл *.py, мы будем запускать его при помощи команды python *.py в вышеуказанном предположении о местонахождении данных.
2. Если вы отправляете ноутбук *.ipynb, мы последовательно запустим все ячейки ноутбука и будем ожидать в результате его работы формирование файла с ответами.
3. Если вы отправляете код с использованием другого языка программирования, в том же письме направьте нам инструкцию по его запуску с тем, чтобы получить тот же файл с ответами.
В случае отсутствия кода, воспроизводящего результат, в установленный срок студенту выставляется 0 в качестве оценки за соревнование. Студенты, попавшие в топ-5 согласно приватному лидерборду, смогут получить бонусные баллы, если в течение недели после окончания соревнования пришлют на почту курса отчет о получении решения, фигурирующего в приватном лидерборде. Если не оговорено иное, использовать любые внешние данные в соревнованиях запрещено. Под внешними данными понимаются размеченные данные, где разметка имеет прямое отношение к решаемой задаче. Грубо говоря, сборник текстов с википедии не считается внешними данными.
Коллоквиум
На каждого студента отводится 20 минут. За это время он должен ответить на 3 вопроса из теоретического минимума и решить задачу. Каждый вопрос из теоретического минимума «стоит» 7/3 балла, задача — 3 балла. Время на подготовку не предусмотрено.
Экзамен
Вопросы для подготовки к экзамену совпадают со списком вопросов к коллоквиуму.
Экзамен пройдёт дистанционно в письменном формате 21 июня. Продолжительность — 120 минут. В экзаменационном варианте будет 4 вопроса, из них два по теории, два в формате задач.
.jpg)






