Бакалавриат
2020/2021
Анализ данных в Python
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Статус:
Курс по выбору (Политология)
Направление:
41.03.04. Политология
Где читается:
Факультет социальных наук
Когда читается:
3-й курс, 3, 4 модуль
Формат изучения:
без онлайн-курса
Преподаватели:
Рогович Татьяна Владимировна
Язык:
русский
Кредиты:
4
Контактные часы:
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 баллов каждое.
- ЭкзаменУстный экзамен. Самостоятельно выполненный проект по машинному обучению на данных по выбору и его защита. Защита проводится дистанционно во время экзамена.
Промежуточная аттестация
- Промежуточная аттестация (4 модуль)0.45 * Домашние задания + 0.35 * Контрольные работы + 0.2 * Экзамен
Список литературы
Рекомендуемая основная литература
- Джеймс Г., Уиттон Д., Хасти Т. - Введение в статистическое обучение с примерами на языке 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