• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 2019/2020

Программирование в Python для анализа данных

Статус: Курс по выбору (Социология)
Направление: 39.03.01. Социология
Когда читается: 4-й курс, 2 модуль
Формат изучения: без онлайн-курса
Преподаватели: Даньшина Мария Александровна, Ульянов Владимир Васильевич
Язык: русский
Кредиты: 4
Контактные часы: 40

Программа дисциплины

Аннотация

Дисциплина направлена на изучение основ программирования в Python (базовые структуры данных, в частности типы данных, логические выражения, условные операторы, организация множественного ветвления, циклы, последовательности (строки и списки) и словари в Python) для применения полученных знаний и навыков при анализе и визуализации в Python как тренировочных, так и реальных данных, включая преобразование и очистку данных, «восстановление отсутствующих» значений, построение графиков (гистограмм, графиков плотностей и диаграмм рассеяния), агрегирование данных, таблицы сопряженности, корреляционный и квантильный анализ, построение предсказательных моделей, оценка качества моделей. По итогам курса студенты должны научиться самостоятельно принимать решение о целесообразности использования возможностей Python для решения прикладных задач в исследовательской практике. Большое внимание уделяется рассмотрению примеров решения задач на реальных данных. Программа предусматривает проведение семинарских занятий и лабораторных работ. Также предполагается выполнение и последующая проверка домашних работ (решение задач). Настоящая дисциплина относится к вариативной части, являясь обязательной дисциплиной специализации «Прикладные методы и технологии социальных исследований».
Цель освоения дисциплины

Цель освоения дисциплины

  • Целью освоения дисциплины " Программирование в Python для анализа данных " является формирование компетенций, связанных с решением задач по сбору, анализу и визуализации социологических данных с помощью программ на языке Python.
Планируемые результаты обучения

Планируемые результаты обучения

  • Знает основы программирования, включая стандартные алгоритмы, и их реализацию в Python
  • Умеет строить модели, оценивать их качество и сравнивать различные модели средствами Python
  • Имеет навыки анализа реальных социологических данных в Python
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Введение в Python и его основные библиотеки и модули
    Общая характеристика языка Python. Базовые команды, библиотеки и модули Python, включая библиотеки SciPy, NumPy (основные пакет для выполнения научных и инженерных расчетов на Python), Matplotlib (библиотека для визуализации данных двумерной графикой), Pandas (программная библиотека на языке Python для обработки и анализа данных, в частности для работы с числовыми таблицами; работа Pandas с данными строится поверх библиотеки NumPy) и Scikit-Learn (предоставляет реализацию целого ряда алгоритмов для обучения с учителем и обучения без учителя)
  • Типы данных в Python, подготовка данных к построению моделей
    Чтение и запись данных. Форматы файлов. Типы хранения данных: векторы, двухмерные таблицы, матрицы, массивы. Переформатирование данных: очистка, преобразование, слияние, изменение формы. Способы работы с пропущенными данными. Агрегирование данных и групповые операции. Построение таблиц сопряженности и квантильный анализ. Понятие функции, ссылки на функции из разных пакетов, создание собственной функции. Циклы for, while, repeat.
  • Визуализация данных и результатов их анализа в Python
    Построение графиков, статическая и интерактивная визуализации. Работа с библиотекой Matplotlib. Изменение масштаба. Нанесение рисок, меток и надписей. Добавление пояснительных надписей. Аннотации и рисование в подграфике. Использование символов и цветов. Сохранение графиков в файле. Функции построения графиков в библиотеке Pandas, включая линейные и нелинейные графики функций, столбиковые диаграммы, гистограммы, графики плотностей распределения вероятностей, «ящики с усами» и диаграммы рассеяния.
  • Предсказательное моделирование в Python
    Работа с библиотекой Scikit-Learn. Построение моделей, «обучающихся с учителем». Разделение данных на обучающие и тестовые. Нормировка обучающих данных. Модели классификации. Бинарная и многоклассовая классификация. Предварительная выборка атрибутов. Понижение размерности данных. Наивный байесовский классификатор. Регрессионные модели: линейная множественная регрессия, логистическая регрессия, регуляризованная регрессия. Построение моделей, «обучающихся без учителя». Подходы для построения моделей кластеризации. Анализ «рыночной корзины». Поиск ассоциативных правил. Ансамбли моделей. Применение пакета jug для работы с большими данными.
  • Анализ качества построенных моделей в Python
    Определение переобученности модели. Реализация перекрестной проверки в Python. Критерии согласия модели. Оценки, основанные на хи-квадрат статистике, информационные критерии. Возможности в Python по отклонению «плохих» моделей и выбору лучших.
Элементы контроля

Элементы контроля

  • неблокирующий Домашнее задание №1
    За нарушение срока сдачи работы на 1 неделю оценка за нее снижается на 50%, на 2 недели – на 100%.
  • неблокирующий Экзмен
  • неблокирующий Домашнее задание №3
    За нарушение срока сдачи работы на 1 неделю оценка за нее снижается на 50%, на 2 недели – на 100%.
  • неблокирующий Домашнее задание №2
    За нарушение срока сдачи работы на 1 неделю оценка за нее снижается на 50%, на 2 недели – на 100%.
Промежуточная аттестация

Промежуточная аттестация

  • Промежуточная аттестация (2 модуль)
    0.26 * Домашнее задание №1 + 0.27 * Домашнее задание №2 + 0.27 * Домашнее задание №3 + 0.2 * Экзмен
Список литературы

Список литературы

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

  • Анализ социологических данных с помощью пакета SPSS : учеб. пособие для вузов, Крыштановский, А. О., 2006
  • Коэльо Л.П., Ричарт В. - Построение систем машинного обучения на языке Python - Издательство "ДМК Пресс" - 2016 - 302с. - ISBN: 978-5-97060-330-7 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/82818
  • Лучано Рамальо - Python. К вершинам мастерства - Издательство "ДМК Пресс" - 2016 - 768с. - ISBN: 978-5-97060-384-0 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/93273

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

  • Язык программирования Python: практикум : учеб. пособие / Р.А. Жуков. — М. : ИНФРА-М, 2019. — 216 с. + Доп. материалы [Электронный ресурс; Режим доступа: http://www.znanium.com]. — (Высшее образование: Бакалавриат). — www.dx.doi.org/10.12737/textbook_5cb5ca35aaa7f5.89424805.