Основы работы с данными: сбор, анализ, визуализация (ОП "Журналистика") — различия между версиями
Buntar29 (обсуждение | вклад) (→Лекции) |
Buntar29 (обсуждение | вклад) (→Семинары) |
||
Строка 81: | Строка 81: | ||
== Семинары == | == Семинары == | ||
− | '''Семинар 1'''. Разведочный анализ данных в Python. [[ | + | '''Семинар 1'''. Разведочный анализ данных в Python. [[ Слайды]] [[ Ноутбук]] |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
== Практические задания == | == Практические задания == |
Версия 20:47, 30 августа 2021
Содержание
О курсе
Курс читается для студентов 3-го курса ОП "Журналистика" ФКМД ВШЭ в 1-2 модулях 2021/2022 уч. г.
Лектор: Карпов Максим Евгеньевич
Лекции проходят по вторникам, 11:10 - 12:30, в zoom (ссылка).
Полезные ссылки
- Видеозаписи лекций и семинаров (здесь появится ссылка на плейлист на Youtube)
- Оставить отзыв на курс: форма
Вопросы по курсу можно задавать на почту mekarpov@hse.ru, а также в телеграм лектору (@buntar29) или семинаристу.
Семинары
Группа | Преподаватель | Учебный ассистент |
---|---|---|
191 | Максимовская Анастасия Максимовна | Стрельцов Тёма |
192 | Максимовская Анастасия Максимовна | Никулина Женя |
193 | Быков Кирилл Валерьевич | Егорова Настя |
194 | Перевышина Татьяна Олеговна | Кордзахия Натела |
195 | Перевышина Татьяна Олеговна | Васильев Коля |
Консультации
Правила выставления оценок
В курсе предусмотрено несколько форм контроля знания:
- Работа на семинарах, написание кода для решения задач
- Мини-тесты на лекциях, проверяющие знание основных моментов с предыдущей недели
- Повторение базового Python в рамках онлайн курса
- Практические домашние работы на Python (всего 5 домашних заданий)
- Прикладной проект по сбору, анализу и визуализации данных на заданную тему
- Письменный экзамен
Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен:
Итог = Минимум(0.1 * Онлайн курс + 0.1 * Работа на семинарах + 0.1 * Тесты на лекциях + 0.5 * ДЗ + 0.15 * Проект + 0.15 * Экзамен)
Округление арифметическое. Всего можно набрать за курс 11 баллов, но выставляется по итогу оценка не выше 10.
Правила сдачи заданий
За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются. Даже при опоздании на одну секунду. Сдавайте заранее. Есть исключение: в течение семестра каждый студент может не более 2 раз сдать задание после жёсткого дедлайна — в этом случае за каждый день просрочки продолжает вычитаться по одному баллу (если не оговорено иное).
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.
При наличии уважительной причины пропущенную проверочную можно написать позднее, а дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.
Лекции
Ко всем конспектам на GitHub есть исходники. Исправления и дополнения всячески приветствуются!
Лекция 1 (3 сентября). Введение в дата-журналистику. Логистика курса, актуальность и мотивация. Слайды Запись лекции
Семинары
Семинар 1. Разведочный анализ данных в Python. Слайды Ноутбук
Практические задания
За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются, но есть исключение. В течение семестра каждый студент может не более 2 раз сдать задание после жёсткого дедлайна — в этом случае за каждый день просрочки продолжает вычитаться по одному баллу (если не оговорено иное).
Задание 1. Pandas и распределение студентов ПМИ по элективам.
Мягкий дедлайн: 21.09.2020 04:59.
Жесткий дедлайн: 24.09.2020 23:59.
Задание 2. Разведочный анализ данных, линейная регрессия и разработка признаков.
Мягкий дедлайн: 05.10.2020 02:59.
Жесткий дедлайн: 08.10.2020 23:59.
Задание 3. Градиентный спуск и линейная регрессия своими руками.
Мягкий дедлайн: 19.10.2020 01:59.
Жесткий дедлайн: 22.10.2020 01:59.
Задание 4. Линейная классификация.
Мягкий дедлайн: 02.11.2020 01:59.
Жесткий дедлайн: 05.11.2020 02:59.
Задание 5. Решающие деревья своими руками.
Мягкий дедлайн: 18.11.2020 01:59.
Жесткий дедлайн: 22.11.2020 01:59.
Задание 6. Разложение ошибки на смещение и разброс.
Мягкий дедлайн: 02.12.2020 00:59.
Жесткий дедлайн: 07.12.2020 00:59
Задание 7. Градиентный бустинг своими руками, исследование свойств бэггинга и бустинга
Мягкий дедлайн: 19.12.2020 00:59.
Жесткий дедлайн: 21.12.2020 00:59
Теоретические домашние задания
Теоретические ДЗ не проверяются, но задачи из них могут войти в проверочные работы на семинарах.
Задание 1. Матрично-векторное дифференцирование [Условие]
Задание 2. Линейная регрессия [Условие]
Задание 3. Линейная классификация [Условие]
Задание 4. Разложение ошибки на смещение и разброс [Условие]
Соревнования
Правила участия и оценивания
В соревновании по анализу данных вам предлагается по имеющимся данным решить некоторую задачу, оптимизируя указанную метрику, и отправить ответы для заданного тестового множества. Максимальное количество посылок в сутки ограничено (как правило, разрешается сделать 2 посылки), ближе к концу соревнования вам будем необходимо выбрать 2 посылки, которые вы считаете лучшими. Тестовые данные делятся на публичные и приватные в некотором соотношении, на основе которых строятся публичный и приватный лидерборды соответственно, при этом публичный лидерборд доступен в течение всего соревнования, а приватный строится после его окончания для выбранных вами посылок.
В лидербордах каждого из соревнований присутствуют несколько базовых решений (бейзлайнов), каждое из которых соответствует определённой оценке. Например, для получения оценки не ниже 8 баллов необходимо, чтобы ваше решение на приватном лидерборде оказалось лучше соответствующего бейзлайна. Далее для студента, преодолевшего бейзлайн на N_1 баллов, но не преодолевшего бейзлайн на N_2 балла, итоговая оценка за соревнование рассчитывается по равномерной сетке среди всех таких студентов в зависимости от места в приватном лидерборде среди них; если быть точными, то по следующей формуле:
N_2 - (N_2 - N_1) * i / M,
где 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
Задача: выявление мошеннических тразнакций
Это соревнование на бонусные баллы, оно не является обязательным.
Ссылка для участия: https://www.kaggle.com/t/c70d9edc863e4b709f12256091e2d394
Дедлайн: 15.12.2020 23:59MSK
В задании всего один бейзлайн (lightgbm), ненулевые баллы получают решения, преодолевшие его на приватном лидерборде. Все решения выше этого бейзлайна оцениваются по равномерной шкале от 0 до 5.
Обратите внимание на раздел Baselines на Kaggle — там можно найти много полезного.
Бонусы за соревнования
За успешное участие в соревнованиях по анализу данных могут быть выставлены бонусные баллы, которые можно прибавить к оценке за любое практическое или теоретическое домашнее задание, а также за самостоятельную работу. Под успешным участием понимается попадание в топ-10% мест; если соревнование особо сложное и крупное, может рассматриваться и попадание в топ-20% мест. Конкретное число баллов определяется преподавателями и зависит от сложности соревнования и занятого места. За одно соревнование можно получить не более 5 баллов. Для получения оценки необходимо предоставить краткий отчёт о решении задачи.
Контрольная работа
Контрольная работа состоится на лекции 4 декабря (в 11:10 по Москве) и займёт одну пару.
Экзамен
Полезные материалы
Книги
- Hastie T., Tibshirani R, Friedman J. The Elements of Statistical Learning (2nd edition). Springer, 2009.
- Bishop C. M. Pattern Recognition and Machine Learning. Springer, 2006.
- Mohri M., Rostamizadeh A., Talwalkar A. Foundations of Machine Learning. MIT Press, 2012.
- Murphy K. Machine Learning: A Probabilistic Perspective. MIT Press, 2012.
- Mohammed J. Zaki, Wagner Meira Jr. Data Mining and Analysis. Fundamental Concepts and Algorithms. Cambridge University Press, 2014.
- Willi Richert, Luis Pedro Coelho. Building Machine Learning Systems with Python. Packt Publishing, 2013.
Курсы по машинному обучению и анализу данных
- Курс по машинному обучению К.В. Воронцова
- Видеозаписи лекций курса Школы Анализа Данных, К.В. Воронцов
- Coursera: Машинное обучение от статистики до нейросетей (специализация)
- Coursera: Машинное обучение и анализ данных (специализация)
- Coursera: Введение в машинное обучение, К.В. Воронцов
- Введение в машинное обучение (онлайн-курс НИУ ВШЭ)