Основы работы с данными: сбор, анализ, визуализация (ОП "Журналистика") — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(О курсе)
(Правила сдачи заданий)
 
(не показана одна промежуточная версия 4 участников)
Строка 1: Строка 1:
 
== О курсе ==
 
== О курсе ==
  
[[Файл:Data_journ.png|460px|borderless|left]]
+
[[Файл:Data_journ.png|470px|borderless|left]]
  
  
Строка 10: Строка 10:
  
 
Лекции проходят по вторникам, 11:10 - 12:30, в zoom ([https://cern.zoom.us/j/67405581597?pwd=MHVQaFVRVUFLdTlIb0FrMGRPTXg0Zz09 ссылка]).
 
Лекции проходят по вторникам, 11:10 - 12:30, в zoom ([https://cern.zoom.us/j/67405581597?pwd=MHVQaFVRVUFLdTlIb0FrMGRPTXg0Zz09 ссылка]).
 
  
 
=== Полезные ссылки ===
 
=== Полезные ссылки ===
Строка 18: Строка 17:
 
[https://github.com/hse-python-jour/hse_intro_to_data_journalism Репозиторий с материалами на GitHub]
 
[https://github.com/hse-python-jour/hse_intro_to_data_journalism Репозиторий с материалами на GitHub]
  
Видеозаписи лекций (здесь появится ссылка на плейлист на Youtube)
+
Видеозаписи лекций и семинаров [https://www.youtube.com/playlist?list=PLkBdGfNz-0qPwZghfyrYWLi531rlSqD4j Youtube]
  
 
[https://t.me/joinchat/XJFOQKyYlFdiMDAy Канал в telegram для объявлений]
 
[https://t.me/joinchat/XJFOQKyYlFdiMDAy Канал в telegram для объявлений]
  
[https://t.me/joinchat/X9C3_prEjeNiZjRi Чат в telegram для обсуждений]
+
Чат в telegram для обсуждений
  
 
[https://docs.google.com/spreadsheets/d/1_pUtb_-KKjpwJn3JkuXJpU7GeBKGGlFndPg3ze2Ichk/edit?usp=sharing Таблица с оценками]
 
[https://docs.google.com/spreadsheets/d/1_pUtb_-KKjpwJn3JkuXJpU7GeBKGGlFndPg3ze2Ichk/edit?usp=sharing Таблица с оценками]
Строка 28: Строка 27:
 
Оставить отзыв на курс: [https://forms.gle/zoLqintPVfbS1Wst9 форма]
 
Оставить отзыв на курс: [https://forms.gle/zoLqintPVfbS1Wst9 форма]
  
'''Вопросы''' по курсу можно задавать на почту курса, а также в телеграм лектору (esokolov@) или семинаристу.
+
'''Вопросы''' по курсу можно задавать на почту mekarpov@hse.ru, а также в телеграм лектору (@buntar29) или семинаристу.
Вопросы по материалам лекций/семинаров и по заданиям лучше всего оформлять в виде [https://github.com/esokolov/ml-course-hse/issues Issue] в [https://github.com/esokolov/ml-course-hse github-репозитории курса].
+
  
 
=== Семинары ===
 
=== Семинары ===
Строка 37: Строка 35:
 
! Группа !! Преподаватель !! Учебный ассистент  
 
! Группа !! Преподаватель !! Учебный ассистент  
 
|-
 
|-
| 181 (МОП) || [https://www.hse.ru/org/persons/165212870 Зиннурова Эльвира Альбертовна] || [https://t.me/Bitchert Биршерт Леша], [https://t.me/ashabalin99 Шабалин Саша]
+
| 191 || [https://www.hse.ru/org/persons/160981103 Максимовская Анастасия Максимовна] || [https://t.me/in_chainz Стрельцов Тёма]
 
|-
 
|-
| 182 (МОП) || [https://www.hse.ru/staff/esokolov Соколов Евгений Андреевич] || [https://t.me/Kirili4ik Гельван Кирилл], [https://t.me/isadrtdinov Ильдус Садртдинов]
+
| 192 || [https://www.hse.ru/org/persons/160981103 Максимовская Анастасия Максимовна] || [https://t.me/evgnikulina Никулина Женя]
 
|-
 
|-
| 183 (ТИ) || [https://www.hse.ru/org/persons/190919554 Трошин Сергей Дмитриевич]  || [https://t.me/treacker Шабалин Евгений]
+
| 193 || [https://t.me/darkydash Быков Кирилл Валерьевич]  || [https://t.me/wwhatisitt Егорова Настя]
 
|-
 
|-
| 184 (АДИС) || [https://www.hse.ru/org/persons/? Кохтев Вадим Михайлович] || [https://t.me/sergevkim Ким Сергей], [https://t.me/planum Гусев Андрей]
+
| 194 || [https://www.hse.ru/org/persons/160989222 Перевышина Татьяна Олеговна] || [https://t.me/nkrdz Кордзахия Натела]
 
|-
 
|-
| 185 (РС) || [https://www.hse.ru/org/persons/209813459 Каюмов Эмиль Марселевич] || [https://t.me/arinaruck Рак Арина]
+
| 195 || [https://www.hse.ru/org/persons/160989222 Перевышина Татьяна Олеговна] || [https://t.me/nnvasilevkk Васильев Коля]
|-
+
| 186 (РС) || [https://www.hse.ru/org/persons/? Глазкова Екатерина Васильевна] || [https://t.me/bigbluebutterfly Федоров Игорь]
+
|-
+
| 187 (АПР) || [https://www.hse.ru/org/persons/? Цвигун Аким Олегович] ||
+
|-
+
| 188 (МИ) || [https://www.hse.ru/org/persons/? Семенкин Антон Александрович] || [https://t.me/poly_nomial Анищенко Илья]
+
 
|-
 
|-
 
|}
 
|}
  
 
=== Консультации ===
 
=== Консультации ===
 +
 +
Убедительная просьба предупреждать заранее, что вы собираетесь прийти на консультацию, в личку в телеграмме преподавателю. Если желающих нет, консультация в выбранный день не проводится.
 +
 +
* Карпов Максим, по вторникам, 16:20 - 17:40, в зуме ([https://cern.zoom.us/j/67405581597?pwd=MHVQaFVRVUFLdTlIb0FrMGRPTXg0Zz09 ссылка])
 +
* Быков Кирилл, по четвергам, 18:10 - 19:30, по предварительному согласованию, а так же круглосуточно в [https://t.me/darkydash телеграме] и [https://vk.com/darkydash ВК]
 +
* Стрельцов Тёма -- по предварительной договоренности, фиксированного дня/времени консультации нет. Можно 24/7 стучаться в [https://t.me/in_chainz телеграм].
  
 
=== Правила выставления оценок ===
 
=== Правила выставления оценок ===
  
 
В курсе предусмотрено несколько форм контроля знания:
 
В курсе предусмотрено несколько форм контроля знания:
* Самостоятельные работы на семинарах, проверяющие знание основных фактов с лекций и семинаров
+
* Работа на семинарах, написание кода для решения задач
* Практические домашние работы на Python
+
* Мини-тесты на лекциях, проверяющие знание основных моментов с предыдущей недели
* Письменная контрольная работа
+
* Повторение базового Python в рамках онлайн курса
 +
* Практические домашние работы на Python (всего 5 домашних заданий)
 +
* Прикладной проект по сбору, анализу и визуализации данных на заданную тему
 
* Письменный экзамен
 
* Письменный экзамен
  
 
Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен:
 
Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен:
  
Итог = Округление(0.15 * ПР + 0.4 * ДЗ + 0.15 * КР + 0.3 * Э)
+
Итог = Минимум(10, 0.1 * Онлайн курс + 0.1 * Работа на семинарах + 0.1 * Тесты на лекциях + 0.5 * ДЗ + 0.15 * Проект + 0.15 * Экзамен)
  
ПР — средняя оценка за самостоятельные работы на семинарах
+
Округление арифметическое. Всего можно набрать за курс 11 баллов, но выставляется по итогу оценка не выше 10. Экзамен неблокирующий.
 
+
ДЗ — средняя оценка за практические домашние работы на Python
+
 
+
КР — оценка за контрольную работу
+
 
+
Э — оценка за экзамен
+
 
+
Округление арифметическое.
+
  
 
=== Правила сдачи заданий ===
 
=== Правила сдачи заданий ===
  
За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются. Даже при опоздании на одну секунду. Сдавайте заранее. Есть исключение: в течение семестра каждый студент может не более 2 раз сдать задание после жёсткого дедлайна — в этом случае за каждый день просрочки продолжает вычитаться по одному баллу (если не оговорено иное).
+
Каждый элемент контроля (домашнее задание, проект, контрольные точки онлайн курса) имеет жёсткий дедлайн. После жёсткого дедлайна работы не принимаются. Даже при опоздании на одну секунду. Сдавайте заранее. Есть исключение: в течение семестра каждый студент может не более 2 раз сдать задание после жёсткого дедлайна — в этом случае за каждый день просрочки вычитается по два балла. В таком случае, студент должен предупредить своего ассистента о выбранной опции.
  
 
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.
 
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.
Строка 91: Строка 83:
 
Ко всем конспектам на GitHub есть исходники. Исправления и дополнения всячески приветствуются!
 
Ко всем конспектам на GitHub есть исходники. Исправления и дополнения всячески приветствуются!
  
'''Лекция 1''' (4 сентября). Введение в машинное обучение. Основные термины, постановки задач и примеры применения. [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/lecture-notes/lecture01-intro.pdf Конспект]] [[https://www.youtube.com/watch?v=HytWgel76rY Запись лекции]]
+
'''Лекция 1''' (3 сентября). Введение в дата-журналистику. Логистика курса, актуальность и мотивация. [[https://docs.google.com/presentation/d/15swQ9Ejd4sOZIo4tMyPpNTpmjBvWyroheWylDEwUoD4/edit?usp=sharing Слайды]] [[https://www.youtube.com/watch?v=472Ef-1jjbU&list=PLkBdGfNz-0qPwZghfyrYWLi531rlSqD4j&index=1&t=5s Запись лекции]]
  
'''Лекция 2''' (11 сентября). Линейная регрессия. Метрики качества регрессии. Переобучение. [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/lecture-notes/lecture02-linregr.pdf Конспект]] [[https://www.youtube.com/watch?v=rNO34vMVS-Q Запись лекции]]
+
'''Лекция 2''' (28 сентября). Recap Python. Функции, методы. [[https://github.com/hse-python-jour/hse_intro_to_data_journalism/blob/main/lectures/Fall_2021_Journ_Data_Analysis_L2.ipynb Ноутбук]][[https://youtu.be/EID-4EH8qyY Запись лекции]]
  
'''Лекция 3''' (18 сентября). Регуляризация. Градиентное обучение. Оценивание градиента. [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/lecture-notes/lecture03-linregr.pdf Конспект]] [[https://www.youtube.com/watch?v=CWFWFsie6jg Запись лекции]]
+
'''Лекция 3''' (5 октября). Базовые понятия анализа данных. Основы Парсинга html-страниц. [[https://github.com/hse-python-jour/hse_intro_to_data_journalism/blob/main/lectures/Fall_2021_Journ_Data_Analysis_L3_part1.pdf Слайды]][[https://github.com/hse-python-jour/hse_intro_to_data_journalism/blob/main/lectures/Fall_2021_Journ_Data_Analysis_L3_parsing_intro.ipynb Ноутбук]][[https://youtu.be/_qkrKqaOlKA Запись лекции]]
  
'''Лекция 4''' (25 сентября). Линейная классификация. Отступ и верхние оценки на пороговую функцию потерь. Метрики качества классификации. [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/lecture-notes/lecture04-linclass.pdf Конспект]] [[https://www.youtube.com/watch?v=tIymy9jpO9s Запись лекции]]
+
'''Лекция 4''' (12 октября)
  
'''Лекция 5''' (2 октября). Метрики качества классификации. [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/lecture-notes/lecture04-linclass.pdf Конспект]] [[https://www.youtube.com/watch?v=3Qj87xe3Djk Запись лекции]] [[https://www.youtube.com/watch?v=xk7cU86Sh5A Ещё одна попытка объяснить площади под кривыми]]
+
'''Лекция 5''' (26 октября)
  
'''Лекция 6''' (9 октября). Линейная классификация. Логистическая регрессия и оценки вероятности классов. [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/lecture-notes/lecture05-linclass.pdf Конспект]] [[https://www.youtube.com/watch?v=KeNJw_jw8NE Запись лекции]] [[https://www.youtube.com/watch?v=ZJ_b_VLQu84 Дополнительная лекция]]
+
'''Лекция 6''' (2 ноября)
  
'''Лекция 7''' (16 октября). Многоклассовая классификация, сведение к бинарным задачам. Многоклассовая логистическая регрессия. Метрики качества многоклассовой классификации. [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/lecture-notes/lecture06-linclass.pdf Конспект]] [[https://www.youtube.com/watch?v=Ec1xYZ9zzEI Запись лекции]]
+
'''Лекция 7''' (16 ноября)
  
'''Лекция 8''' (30 октября). Решающие деревья. Жадный алгоритм построения. Выбор лучшего разбиения с помощью критерия информативности. Критерии информативности для регрессии и классификации. Учёт пропусков в деревьях. Решающие деревья и категориальные признаки. [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/lecture-notes/lecture07-trees.pdf Конспект]] [[https://www.youtube.com/watch?v=h7FF6EcXDqA Запись лекции]]
+
'''Лекция 8''' (23 ноября)
  
'''Лекция 9''' (6 ноября). Бутстрап и бэггинг. Разложение ошибки на смещение и разброс (bias-variance decomposition). Случайный лес. Вычисление расстояний с помощью лесов. [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/lecture-notes/lecture08-ensembles.pdf Конспект]] [[https://www.youtube.com/watch?v=t0OhR13Pgwk Запись лекции]]
+
'''Лекция 9''' (7 декабря)
 
+
'''Лекция 10''' (13 ноября). Градиентный бустинг. Регуляризация. Особенности бустинга над деревьями. Взвешивание объектов в градиентном бустинге. [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/lecture-notes/lecture09-ensembles.pdf Конспект]] [[https://www.youtube.com/watch?v=pXFZsXlVM-M Запись лекции]]
+
 
+
'''Лекция 11''' (20 ноября). Оптимизация второго порядка в градиентном бустинге. Регуляризация деревьев. XGBoost. Стекинг. [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/lecture-notes/lecture10-ensembles.pdf Конспект]] [[https://www.youtube.com/watch?v=Tq-ofCmY6b4 Запись лекции]]
+
 
+
'''Лекция 12''' (27 ноября). Обучение без учителя. Кластеризация: метрики качества, K-Means, иерархический и графовый подходы. [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/lecture-notes/lecture11-unsupervised.pdf Конспект]] [[https://www.youtube.com/watch?v=kdxnz3cAoeI Запись лекции]]
+
 
+
'''Лекция 13''' (11 декабря). Визуализация, t-SNE. Обучение представлений. word2vec. [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/lecture-notes/lecture11-unsupervised.pdf Конспект]] [[https://www.youtube.com/watch?v=axiaI8Z9lhA Запись лекции]]
+
 
+
'''Лекция 14''' (18 декабря). Метод главных компонент, его связь с матричными разложениями. Рекомендательные системы: постановка задачи, коллаборативные методы, матричные разложения, контентные методы. [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/lecture-notes/lecture12-factorizations.pdf Конспект]] [[https://www.youtube.com/watch?v=YczTyXIuW-o Запись лекции]]
+
  
 
== Семинары ==
 
== Семинары ==
  
'''Семинар 1'''. Разведочный анализ данных в Python. [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/seminars/sem01-pandas.ipynb Ноутбук]]
+
'''Семинар 1'''. Базовые типы данных. Методы работы со строками, списками. [[https://github.com/hse-python-jour/hse_intro_to_data_journalism/blob/main/seminars/sem1/sem1.pdf Слайды]] [[https://github.com/hse-python-jour/hse_intro_to_data_journalism/blob/main/seminars/sem1/sem1_practice.ipynb Ноутбук]]
 
+
'''Семинар 2'''. sklearn и особенности подготовки данных для линейных моделей. [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/seminars/sem02-sklearn-linregr.ipynb Ноутбук]]
+
 
+
'''Семинар 3'''. Основы матрично-векторного дифференцирования. Градиентный спуск. [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/seminars/sem03-numpy.ipynb Справочная информация по NumPy]] [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/seminars/sem03-gd.ipynb Ноутбук по градиентному спуску]] [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/seminars/sem03-vector-diff.pdf Задачи на векторное дифференцирование]]
+
 
+
'''Семинар 4'''. Работа с пропусками и выбросами. Методы кодирования категориальных признаков. Основы работы с текстовыми данными. [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/seminars/sem04-features.pdf Конспект]] [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/seminars/sem04-features.ipynb Ноутбук]]
+
 
+
'''Семинар 5'''. AUC-ROC: алгоритм построения, интерпретации. Прямая оптимизация AUC-ROC. [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/seminars/sem05-linclass-metrics.pdf Конспект]]
+
 
+
'''Семинар 6'''. Оценивание вероятностей. Калибровка вероятностей. Квантильная регрессия. [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/seminars/sem06-probs-quantile.pdf Конспект]]
+
 
+
'''Семинар 7'''. Решающие деревья. Критерии информативности, их особенности и интерпретации. [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/seminars/sem07-trees.pdf Конспект]] [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/seminars/sem07-trees.ipynb Ноутбук]]
+
 
+
'''Семинар 8'''. Разложение ошибки на смещение и разброс. [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/seminars/sem08-bvd.pdf Конспект]]
+
  
'''Семинар 9'''. Градиентный бустинг. [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/seminars/sem09-gbm-part1.pdf Конспект]] [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/seminars/sem09-gbm-part2.ipynb Ноутбук]]
+
'''Семинар 2'''. Решение задач по словарям, циклам, условиям. [[https://github.com/hse-python-jour/hse_intro_to_data_journalism/blob/main/seminars/sem2/s2.pdf Слайды]] [[https://github.com/hse-python-jour/hse_intro_to_data_journalism/blob/main/seminars/sem2/s2.ipynb Ноутбук]] [[ Ноутбук c решением]]
  
 
== Практические задания ==
 
== Практические задания ==
  
За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются, но есть исключение. В течение семестра каждый студент может не более 2 раз сдать задание после жёсткого дедлайна — в этом случае за каждый день просрочки продолжает вычитаться по одному баллу (если не оговорено иное).
+
После жёсткого дедлайна работы не принимаются, но есть исключение. В течение семестра каждый студент может не более 2 раз сдать задание после жёсткого дедлайна — в этом случае за каждый день просрочки вычитается по два балла. В таком случае, студент должен предупредить своего ассистента о выбранной опции.
  
'''Задание 1.''' Pandas и распределение студентов ПМИ по элективам.
+
'''Онлайн курс. Задачи недели 1, 2'''. Ввод и вывод. Переменные. Арифметические операции.
 
   
 
   
Мягкий дедлайн: 21.09.2020 04:59.
+
Жесткий дедлайн:  
  
Жесткий дедлайн: 24.09.2020 23:59.
+
[[Задание]]
  
[[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/homeworks-practice/homework-practice-01-pandas.ipynb Ноутбук с заданием]]
+
=== Проект ===
  
'''Задание 2.''' Разведочный анализ данных, линейная регрессия и разработка признаков.
+
Здесь скоро появится описание и примеры проектов. Проекты выполняются в командах строго из двух человек.
+
Мягкий дедлайн: 05.10.2020 02:59.  
+
  
Жесткий дедлайн: 08.10.2020 23:59.
+
== Экзамен ==
  
[[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/homeworks-practice/homework-practice-02-linregr.ipynb Ноутбук с заданием]]
+
Здесь скоро появится вариант экзамена и вопросы для подготовки.
  
'''Задание 3.''' Градиентный спуск и линейная регрессия своими руками.
+
[[ Демо-версия]]
+
Мягкий дедлайн: 19.10.2020 01:59.
+
  
Жесткий дедлайн: 22.10.2020 01:59.
+
== Полезные материалы ==
 +
===Установка дистрибутива Anaconda===
 +
Инструкция по установке питона на [https://disk.yandex.ru/i/-BoigY3b8-3kYw Windows] и [https://disk.yandex.ru/i/uM6escVXBKax9Q MacOS].
  
[[https://github.com/esokolov/ml-course-hse/tree/master/2020-fall/homeworks-practice/homework-practice-03-gd Файлы к заданию]]
+
[https://github.com/hse-python-jour/hse_intro_to_data_journalism/blob/main/Gustokashin_summary_python.pdf Конспект] лекций по Python от Михаила Густокашина.
  
'''Задание 4.''' Линейная классификация.
 
 
Мягкий дедлайн: 02.11.2020 01:59.
 
 
Жесткий дедлайн: 05.11.2020 02:59.
 
 
[[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/homeworks-practice/homework-practice-04-classification.ipynb Ноутбук с заданием]]
 
 
'''Задание 5.''' Решающие деревья своими руками.
 
 
Мягкий дедлайн: 18.11.2020 01:59.
 
 
Жесткий дедлайн: 22.11.2020 01:59.
 
 
[[https://github.com/esokolov/ml-course-hse/tree/master/2020-fall/homeworks-practice/homework-practice-05-trees Файлы к заданию]]
 
 
'''Задание 6.''' Разложение ошибки на смещение и разброс.
 
 
Мягкий дедлайн: 02.12.2020 00:59.
 
 
Жесткий дедлайн: 07.12.2020 00:59
 
 
[[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/homeworks-practice/homework-practice-06-bvd.ipynb Ноутбук с заданием]]
 
 
'''Задание 7.''' Градиентный бустинг своими руками, исследование свойств бэггинга и бустинга
 
 
Мягкий дедлайн: 19.12.2020 00:59.
 
 
Жесткий дедлайн: 21.12.2020 00:59
 
 
[[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/homeworks-practice/homework-practice-07-boosting.ipynb Ноутбук с заданием]]
 
 
==Теоретические домашние задания==
 
 
Теоретические ДЗ не проверяются, но задачи из них могут войти в проверочные работы на семинарах.
 
 
'''Задание 1.''' Матрично-векторное дифференцирование [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/homeworks-theory/homework-theory-01-derivatives.pdf Условие]]
 
 
'''Задание 2.''' Линейная регрессия [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/homeworks-theory/homework-theory-02-linregr.pdf Условие]]
 
 
'''Задание 3.''' Линейная классификация [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/homeworks-theory/homework-theory-03-linclass.pdf Условие]]
 
 
'''Задание 4.''' Разложение ошибки на смещение и разброс [[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/homeworks-theory/homework-theory-04-bvd.pdf Условие]]
 
 
== Соревнования ==
 
 
===Правила участия и оценивания===
 
В соревновании по анализу данных вам предлагается по имеющимся данным решить некоторую задачу, оптимизируя указанную метрику, и отправить ответы для заданного тестового множества. Максимальное количество посылок в сутки ограничено (как правило, разрешается сделать 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 по Москве) и займёт одну пару.
 
 
[https://docs.google.com/document/d/1xELhUsd4w3tPZ4f-nLlXoeWQEag6VGIxbD__vM7IelM/edit?usp=sharing Вопросы для подготовки]
 
 
[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/midterm-fall-2020-example.pdf Пример варианта]
 
 
== Экзамен ==
 
 
[[https://docs.google.com/document/d/1517DfTGA50FEJY7GWwAbK0Jw23cEBIYg8VU9FhYwtRk/edit?usp=sharing Вопросы для подготовки]]
 
 
== Полезные материалы ==
 
 
===Книги===
 
===Книги===
* 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.
+
* McKinney, W. (2012). Python for Data Analysis : Data Wrangling with Pandas, NumPy, and IPython. Sebastopol, CA: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=495822
* Mohri M., Rostamizadeh A., Talwalkar A. Foundations of Machine Learning. MIT Press, 2012.
+
* Митчелл Р. - Скрапинг веб-сайтов с помощю Python - Издательство "ДМК Пресс" - 2016 - 280с. - ISBN: 978-5-97060-223-2 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/100903
* Murphy K. Machine Learning: A Probabilistic Perspective. MIT Press, 2012.
+
* Yau, N. (2013). Data Points : Visualization That Means Something. New York: Wiley. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=566405
* 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.
+
 
+
===Курсы по машинному обучению и анализу данных===
+
* [http://www.machinelearning.ru/wiki/index.php?title=Машинное_обучение_%28курс_лекций%2C_К.В.Воронцов%29 Курс по машинному обучению К.В. Воронцова]
+
* [https://yandexdataschool.ru/edu-process/courses/machine-learning Видеозаписи лекций курса Школы Анализа Данных, К.В. Воронцов]
+
* [https://www.coursera.org/specializations/machine-learning-from-statistics-to-neural-networks Coursera: Машинное обучение от статистики до нейросетей (специализация)]
+
* [https://www.coursera.org/specializations/machine-learning-data-analysis Coursera: Машинное обучение и анализ данных (специализация)]
+
* [https://www.coursera.org/learn/introduction-machine-learning Coursera: Введение в машинное обучение, К.В. Воронцов]
+
* [https://openedu.ru/course/hse/INTRML/ Введение в машинное обучение (онлайн-курс НИУ ВШЭ)]
+
 
+
== Страницы предыдущих лет ==
+
 
+
[[Машинное_обучение_1/2019_2020 | 2019/2020 учебный год]]
+
 
+
[[Машинное_обучение_1/2018_2019 | 2018/2019 учебный год]]
+
 
+
[[Машинное_обучение_1/2017_2018 | 2017/2018 учебный год]]
+
  
[[Машинное_обучение_1/2016_2017 | 2016/2017 учебный год]]
+
'''Рекомендуемая дополнительная литература'''
 +
* Anoshin, D., Matic, T., Bogdanovic, S., Lincoln, T., & Shirokov, D. (2019). Tableau 2019.x Cookbook : Over 115 Recipes to Build End-to-end Analytical Solutions Using Tableau. Birmingham: Packt Publishing. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=2022993
 +
* Joshua N. Milligan. (2019). Learning Tableau 2019 : Tools for Business Intelligence, Data Prep, and Visual Analytics, 3rd Edition. Birmingham: Packt Publishing. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=2092866

Текущая версия на 16:34, 13 декабря 2021

О курсе

borderless


Курс читается для студентов 3-го курса ОП "Журналистика" ФКМД ВШЭ в 1-2 модулях 2021/2022 уч. г.

Лектор: Карпов Максим Евгеньевич

Лекции проходят по вторникам, 11:10 - 12:30, в zoom (ссылка).

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

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

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

Видеозаписи лекций и семинаров Youtube

Канал в telegram для объявлений

Чат в telegram для обсуждений

Таблица с оценками

Оставить отзыв на курс: форма

Вопросы по курсу можно задавать на почту mekarpov@hse.ru, а также в телеграм лектору (@buntar29) или семинаристу.

Семинары

Группа Преподаватель Учебный ассистент
191 Максимовская Анастасия Максимовна Стрельцов Тёма
192 Максимовская Анастасия Максимовна Никулина Женя
193 Быков Кирилл Валерьевич Егорова Настя
194 Перевышина Татьяна Олеговна Кордзахия Натела
195 Перевышина Татьяна Олеговна Васильев Коля

Консультации

Убедительная просьба предупреждать заранее, что вы собираетесь прийти на консультацию, в личку в телеграмме преподавателю. Если желающих нет, консультация в выбранный день не проводится.

  • Карпов Максим, по вторникам, 16:20 - 17:40, в зуме (ссылка)
  • Быков Кирилл, по четвергам, 18:10 - 19:30, по предварительному согласованию, а так же круглосуточно в телеграме и ВК
  • Стрельцов Тёма -- по предварительной договоренности, фиксированного дня/времени консультации нет. Можно 24/7 стучаться в телеграм.

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

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

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

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

Итог = Минимум(10, 0.1 * Онлайн курс + 0.1 * Работа на семинарах + 0.1 * Тесты на лекциях + 0.5 * ДЗ + 0.15 * Проект + 0.15 * Экзамен)

Округление арифметическое. Всего можно набрать за курс 11 баллов, но выставляется по итогу оценка не выше 10. Экзамен неблокирующий.

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

Каждый элемент контроля (домашнее задание, проект, контрольные точки онлайн курса) имеет жёсткий дедлайн. После жёсткого дедлайна работы не принимаются. Даже при опоздании на одну секунду. Сдавайте заранее. Есть исключение: в течение семестра каждый студент может не более 2 раз сдать задание после жёсткого дедлайна — в этом случае за каждый день просрочки вычитается по два балла. В таком случае, студент должен предупредить своего ассистента о выбранной опции.

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

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

Лекции

Ко всем конспектам на GitHub есть исходники. Исправления и дополнения всячески приветствуются!

Лекция 1 (3 сентября). Введение в дата-журналистику. Логистика курса, актуальность и мотивация. [Слайды] [Запись лекции]

Лекция 2 (28 сентября). Recap Python. Функции, методы. [Ноутбук][Запись лекции]

Лекция 3 (5 октября). Базовые понятия анализа данных. Основы Парсинга html-страниц. [Слайды][Ноутбук][Запись лекции]

Лекция 4 (12 октября)

Лекция 5 (26 октября)

Лекция 6 (2 ноября)

Лекция 7 (16 ноября)

Лекция 8 (23 ноября)

Лекция 9 (7 декабря)

Семинары

Семинар 1. Базовые типы данных. Методы работы со строками, списками. [Слайды] [Ноутбук]

Семинар 2. Решение задач по словарям, циклам, условиям. [Слайды] [Ноутбук] Ноутбук c решением

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

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

Онлайн курс. Задачи недели 1, 2. Ввод и вывод. Переменные. Арифметические операции.

Жесткий дедлайн:

Задание

Проект

Здесь скоро появится описание и примеры проектов. Проекты выполняются в командах строго из двух человек.

Экзамен

Здесь скоро появится вариант экзамена и вопросы для подготовки.

Демо-версия

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

Установка дистрибутива Anaconda

Инструкция по установке питона на Windows и MacOS.

Конспект лекций по Python от Михаила Густокашина.

Книги

Рекомендуемая основная литература

Рекомендуемая дополнительная литература