• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Basics of Programming in Python

2019/2020
Academic Year
RUS
Instruction in Russian
3
ECTS credits
Course type:
Compulsory course
When:
2 year, 4 module

Instructors


Biryukov, Valentin


Rogovich, Tatiana

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

Аннотация

На сегодняшний день Python является стандартом индустрии для анализа данных. По окончании этого курса, студенты получат в свое распоряжение набор аналитических инструментов, которые им пригодятся как в академии, так и при работе в частном или государственном секторе. Целью этого курса является развитие навыков программирования и создание крепкой практической базы для анализа и презентации данных. Также мы познакомимся с задачами и алгоритмами машинного обучения, что задаст вектор развития для тех студентов, которые захотят углубиться в предмет. С использованием онлайн-курса "Python для извлечения и обработки данных" (URL: https://openedu.ru/course/hse/PYTHON/).
Цель освоения дисциплины

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

  • Развитие и закрепление навыков программирования на языке Python.
  • Формирование и развитие навыков работы со специализированными библиотеками для обработки, визуализации и анализа данных (pandas, numpy, scipy, sklearn, plotly, matplotlib).
  • Развитие навыков работы с данными: обработка, визуализация, разведывательный анализ.
  • Освоение терминологии области машинного обучения и знакомство с базовыми алгоритмами
  • Развитие навыков постановки исследовательской задачи и тестирования гипотез с помощью количественных методов
Планируемые результаты обучения

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

  • Загружает данные в pandas и работает с ними (фильтрация, агрегация, заполнение пропущенных значений)
  • Подсчитывает описательные статистики, оценивает распределения, интерпретирует корреляции
  • Проводит разведывательный анализ данных
  • Выбирает корректные графики для визуализации данных
  • Выбирает правильный тип визуализации для решения конкретной задачи
  • Настраивает внешний вид графиков в библиотеках Python для визуализации
  • Проводит разведывательный анализ данных с помощью визуализаций
  • Решает простые задачи классификации, регрессии и кластеризации
  • Уверенно пользуется языком Python для решения аналитических задач
  • Определяет тип задачи машинного обучения, выбирает корректные модели для ее решения, осуществляет подбор параметров и выбирает лучшую модель
  • Решает задачи машинного обучения от постановки исследовательского вопроса до интерпретации результатов
  • Реализовывает простые алгоритмы машинного обучения
Содержание учебной дисциплины

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

  • Основы программирования в Python
    Основные типы и структуры данных. Условные операторы и циклы. Решение алгоритмических задач.
  • Введение в анализ данных на Python
    Обзор задач, для решения которых используется Python. Источники данных и их типы. Линейная алгербра и математическая статистика для анализа данных и машинного обучения. Статистические и математические операции в numpy. Pandas для работы с табличными данными. Разведывательный анализ данных.
  • Визуализация данных
    Цели визуализации данных: разведывательный анализ, выбор алгоритмов, презентация данных и результатов. Виды графиков, их корректное использование и интерпретация. Принципы хорошей визуализации, основные ошибки при вузализации данных. Основы визуализации в matplotlib. Оформление и кастомизация графиков.
  • Введение в машинное обучение
    Парадигма и задачи машинного обучения. Разбор кейсов. Основная терминология машинного обучения. Задачи регрессии (линейная регрессия, методы решающих деревьев и случайного леса). Задачи классификации (логистическая регрессия, метод ближайших соседей, перцептрон). Основные метрики качества модели. Кросс-валидация и подбор параметров по сетке.
Элементы контроля

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

  • неблокирующий Контрольная работа (Питон)
  • неблокирующий Мини-задания, выполненные онлайн (среднее всех)
  • неблокирующий Домашнее задание
  • неблокирующий Контрольная работа (анализ данных)
    Экзамен проводится в письменной форме с использованием синхронного прокторинга. Экзамен проводится на платформе Онлайн-образование в НИУ ВШЭ (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 . Для участия в экзамене студент обязан: заранее зайти на платформу прокторинга, провести тест системы, включить камеру и микрофон, подтвердить личность. Во время экзамена студентам запрещено: общаться (в социальных сетях, с людьми в комнате), списывать. Во время экзамена студентам разрешено: пользоваться средой программирования кроме google collaboratory, материалами, предоставленными преподавателями, ручкой/карандашом и чистой бумагой. Кратковременным нарушением связи во время экзамена считается прерывание связи до 5 минут (не более 5 раз попытку). Долговременным нарушением связи во время экзамена считается прерывание связи 5 минут и более. При долговременном нарушении связи студент не может продолжить участие в экзамене. Пересдача предполагает другой вариант контрольной, с усложнением заданий, и состоится 23 июня в Zoom c демонстрацией экрана и в присутствии преподавателей.
  • неблокирующий Дополнительные баллы
    У студентов будет возможность получить до десяти дополнительных баллов за выполнение дополнительных заданий в течение модуля. Условия получения дополнительных баллов будут уточнены на первой лекции четвертого модуля.
  • неблокирующий Оценка за онлайн-курс
    Онлайн-курс "Python для извлечения и обработки данных" (URL: https://openedu.ru/course/hse/PYTHON/).
Промежуточная аттестация

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

  • Промежуточная аттестация (4 модуль)
    0.2 * Домашнее задание + 0.2 * Контрольная работа (анализ данных) + 0.2 * Контрольная работа (Питон) + 0.2 * Мини-задания, выполненные онлайн (среднее всех) + 0.2 * Оценка за онлайн-курс
Список литературы

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

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

  • Muller, A. C., & Guido, S. (2017). Introduction to machine learning with Python: a guide for data scientists. O’Reilly Media. (HSE access: http://ebookcentral.proquest.com/lib/hselibrary-ebooks/detail.action?docID=4698164)

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

  • Mirkin, B. Core concepts in data analysis: summarization, correlation and visualization. – Springer Science & Business Media, 2011. – 388 pp.
  • Miroslav Kubat. An Introduction to Machine Learning. Springer, 2015 (296 pages) ISBN: 9783319200095: — Текст электронны // ЭБС books24x7 — https://library.books24x7.com/toc.aspx?bookid=117295
  • Witten, I. H. et al. Data Mining: Practical machine learning tools and techniques. – Morgan Kaufmann, 2017. – 654 pp.
  • Мастицкий С.Э. - Визуализация данных с помощью ggplot2 - Издательство "ДМК Пресс" - 2017 - 222с. - ISBN: 978-5-97060-470-0 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/107895
  • Основы алгоритмизации и программирования на Python : учеб. пособие / С.Р. Гуриков. — М. : ФОРУМ : ИНФРА-М, 2019. — 343 с. — (Среднее профессиональное образование). - Режим доступа: http://znanium.com/catalog/product/970143
  • Северенс Ч. - Введение в программирование на Python - Национальный Открытый Университет "ИНТУИТ" - 2016 - 231с. - ISBN: - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/100703