Бакалавриат
2020/2021
Анализ данных в Python
Статус:
Курс по выбору (Политология)
Направление:
41.03.04. Политология
Где читается:
Факультет социальных наук
Когда читается:
4-й курс, 1, 2 модуль
Формат изучения:
с онлайн-курсом
Преподаватели:
Рогович Татьяна Владимировна
Язык:
русский
Кредиты:
6
Контактные часы:
62
Программа дисциплины
Аннотация
Сегодня стремительно растет количество и виды данных, к которым могут обращаться социальные науки. У современного исследователя есть в потребность в гибких, мощных и легко масштабируемых инструментах для сбора и анализа информации. Язык программирования Python и его библиотеки являются стандартом индустрии машинного обучения и анализа больших данных. Многие из этих инструментов окажутся полезны для студентов-политологов, выбери они исследовательскую карьеру или работу в государственном и частных секторах. Целью этого курса является развитие навыков программирования и создание крепкой практической базы для анализа и презентации данных. Также мы познакомимся с задачами и разными алгоритмами машинного обучения, что задаст вектор развития для тех студентов, которые захотят углубиться в предмет. В этом курсе мы освежим в памяти навык программирования на языке Python, углубим навыки работы со специализированными библиотеками для анализа и визуализации данных - numpy, pandas, scipy, matplotlib, plotly. Будем решать исследовательские задачи от постановки задачи и сбора данных до применения математических моделей для оценки корректности наших гипотез. К знакомым из статистики регрессионным моделям добавим в наш исследовательский инструментарий решающие деревья и случайный лес, алгоритмы классификации и кластеризации, научимся строить социальные графы. Отдельное внимание уделим текстовому анализу, потому что огромное количество исследовательских и коммерческих задач завязано именно на нем. Обсудим, что такое нейронные сети и как можно применить готовые решения для своих задач. С использованием онлайн-курса "Python для извлечения и обработки данных" (URL: https://openedu.ru/course/hse/PYTHON/).
Цель освоения дисциплины
- Развитие и закрепление навыков программирования на языке Python.
- Формирование и развитие навыков работы со специализированными библиотеками для обработки, визуализации и анализа данных (pandas, numpy, scipy, sklearn, plotly, matplotlib).
- Развитие навыков работы с данными: сбор, обработка, визуализация, разведывательный анализ.
- Освоение терминологии области машинного обучения и знакомство с базовыми алгоритмами
- Развитие навыков постановки исследовательской задачи и тестирования гипотез с помощью количественных методов.
- Развитие навыков презентации полученных результатов (оформление отчета о проделенной работе и устная защита исследования).
Планируемые результаты обучения
- Уверенно пользоваться языком Python для решения аналитических задач
- Загружать данные в pandas и работать с ними (фильтрация, агрегация, заполнение пропущенных значений)
- Умение подсчитывать описательные статистики, оценивать распределения, интерпретировать корелляции
- Проводить разведывательный анализ данных
- Работать с сайтом соревнований по машинному обучению kaggle
- Умение выбирать корректные графики для визуализации данных, уметь кастомизировать их внешний вид, интерпретировать графики
- Создавать интерактивные визуализации с помощью plotly
- Определять тип задачи машинного обучения, выбирать корректные модели для ее решения, осуществлять подбор параметров и выбирать лучшую модель
- Решать задачи машинного обучения от постановки исследовательского вопроса до интерпретации результатов
- Решать простые задачи классификации, регрессии и кластеризации
- Собирать и подготавливать данные для текстового анализа. Проводить стандартизацию текста. Решать задачи классификации и кластеризации для текстовых данных
Содержание учебной дисциплины
- Python для анализа данных, алгоритмыПреимущества использования Python для анализа данных по сравнению с другими инструментами. Прикладные задачи политологии, для решения которых подходит инструментарий Python. Обзор библиотек и инструментов. Программирование на Python: вспоминаем типы данных, основные структуры, методы и функции, условные операторы, циклы, списковые включения, функцию map() и анонимные функции, отладку кода (try/except). Алгоритмы: оптимизация и сложность на примере алгоритмов сортировок. Классы.
- Библиотеки для работы с данными в PythonБиблиотека numpy: векторы и массивы, специальные типы данных. Библиотека pandas. Основы работы с датафреймами: загрузка, очистка, фильтрация, группировка и агрегация. Описательные статистики, распределения, разведывательный анализ, работа с пропущенными значениями, постановка гипотезы.
- Визуализация данныхВиды графиков, их корректное использование и интерпретация. Принципы хорошей визуализации, основные ошибки при визуализации данных. Основы визуализации в matplotlib. Оформление и кастомизация графиков. Визуализации отфильтрованных и сгруппированных данных. Создание интерактивных визуализаций в Plotly.
- Машинное обучениеВведение в машинное обучение: терминология, постановка исследовательского вопроса и проверка гипотезы. Виды задач машинного обучения. Baseline модели. Задачи регрессии. Линейная регрессия. Задачи классификации. Реализация алгоритма kNN. Логистическая регрессия. Решающие деревья. Случайный лес. Работа с Kaggle. Обучение без учителя. Кластеризация. Решаем Kaggle кейс: от гипотезы до submission.
- Текстовый анализСбор, обработка и подготовка текста для анализа. Решение задачи классификации текстов.
Элементы контроля
- Контрольные работыДве контрольные работы в течение курса, проводятся очно во время семинаров, 10 баллов каждое.
- Домашние заданияЧетыре домашних задания в течение курса, 10 баллов каждое.
- ЭкзаменЭкзамен проводится в письменной форме с использованием синхронного прокторинга. Экзамен проводится на платформе Онлайн-образование в НИУ ВШЭ (https://online.hse.ru/), прокторинг на платформе Экзамус (https://hse.student.examus.net). К экзамену необходимо подключиться за 15 минут до начала. На платформе Экзамус доступно тестирование системы (https://lms.demo.examus.net/syscheck_st). Компьютер студента должен удовлетворять требованиям: https://elearning.hse.ru/data/2020/05/07/1544135594/Технические%20требования%20к%20ПК%20студента.pdf.
Промежуточная аттестация
- Промежуточная аттестация (2 модуль)0.35 * Домашние задания + 0.35 * Контрольные работы + 0.3 * Экзамен
Список литературы
Рекомендуемая основная литература
- Джеймс Г., Уиттон Д., Хасти Т. - Введение в статистическое обучение с примерами на языке R - Издательство "ДМК Пресс" - 2017 - 456с. - ISBN: 978-5-97060-495-3 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/93580
Рекомендуемая дополнительная литература
- HEER, J., BOSTOCK, M., & OGIEVETSKY, V. (2010). A Tour Through the Visualization Zoo. Communications of the ACM, 53(6), 59–67. https://doi.org/10.1145/1743546.1743567