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

Анализ данных на Python

Лучший по критерию «Новизна полученных знаний»
Статус: Курс обязательный (Экономика)
Направление: 38.03.01. Экономика
Когда читается: 2-й курс, 1, 2 модуль
Формат изучения: с онлайн-курсом
Преподаватели: Аброскин Илья Дмитриевич, Ананьева Марина Евгеньевна, Демешев Борис Борисович, Карпов Максим Евгеньевич, Максимовская Анастасия Максимовна, Петросян Артур Тигранович, Ульянкин Филипп Валерьевич, Филатов Артём Андреевич
Язык: русский
Кредиты: 3
Контактные часы: 28

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

Аннотация

Курс "Анализ данных на Python"нацелен на изучение языка программирования Python и получение базовых знаний и навыков для обработки, визуализации и статистического анализа данных, а также дальнейшего прохождения более специализированных курсов в этой области (например, машинного обучения). Первая часть дисциплины отведена на изучение основ языка Python, по итогам которой слушатели узнают о типах и структурах данных, научатся решать алгоритмические задачи и освоят такие базовые понятия программирования, как: условные операторы, функции, рекурсии и циклы. В рамках курса будут пройдены основы различных парадигм программирования: процедурное, функциональное и объектно-ориентированное программирование. Вторая часть курса посвящена освоению теоретической базы и необходимых практических навыков для анализа данных. Слушатели научатся решать задачи по парсингу, препроцессингу и визуализации данных с помощью стандартных и внешних библиотек Python. С использованием онлайн-курса "Основы программирования на Python" [URL:https://ru.coursera.org/learn/python-osnovy-programmirovaniya].
Цель освоения дисциплины

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

  • Ознакомление студентов с основами программирования на языке Python
  • Получение навыков обработки и статистического анализа данных с применением библиотек языка Python
  • Ознакомление с теоретическими основами и основными методами статистического анализа
Планируемые результаты обучения

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

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

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

  • Введение в язык программирования. Условные операторы. Вещественные числа.
    Целые числа, ввод-вывод, применение арифметических операций для целых чисел. Простые операции со строками. Знакомство с Python, основные типы данных и операции с ними. Запуск программ в среде Jupyter Notebook. Получение результатов. Основы работы с вещественными числами, округление. Знакомство с git.
  • Кортежи, цикл for, списки.
    Кортежи, списки, основные методы работы с кортежами и списками. Функция range, цикл for. Методы сравнения элементов множества. Условный оператор и цикл while. Логический тип переменных, условный оператор. If, else. Цикл while.
  • Функции и рекурсия.
    Функция. Локальные и глобальные переменные. Лямбда-функции.
  • Множества и словари. Функциональное программирование.
    Методы создания множеств. Словари, создание и примеры использования. Примеры решения задач в функциональном стиле. Итераторы и генераторы. Классы.
  • Объектно-ориентированное программирование.
    Введение в объектно-ориентированное программирование. Классы. Инкапсуляция и конструкторы. Наследование и полиморфизм.
  • Обработка данных.
    Работа с табличными данными в Python. Библиотеки pandas, numpy, scipy. Манипуляции с данными, обработка пропусков, фильтрация и агрегация. Описательный анализ данных (мода, медиана, математическое ожидание, дисперсия, среднее квадратичное отклонение, стандартная ошибка среднего).
  • Визуализация данных.
    Библиотека matplotlib, seaborn, plotly. Основные виды графиков (гистограммы, диаграммы рассеяния, диаграмма размаха (box plot), линейный график, круговая диаграмма, тепловые карты). Правила оформления графиков (подписывание осей, заголовка, изменение масштаба). Способы визуализации многомерных данных. Поиск выбросов в данных.
  • Парсинг данных
    Парсинг данных из открытых источников информации. Инструменты парсинга в Python (requests, bs4). Работа с файлами. Формат хранения данных (csv, tsv, json). Чтение и запись данных. Парсинг в несколько процессов (joblib). Использование прокси. API и его использование.
  • Линейная регрессия. Метрики для задачи регрессии. Разделение выборки на обучающую и тестовую. Понятие переобучения. Кросс-валидация.
  • Логистическая регрессия. Метрики для задачи классификации.
  • Решающее дерево. Случайный лес. Подбор параметров по сетке.
Элементы контроля

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

  • неблокирующий Домашнее задание 1
  • неблокирующий Домашнее задание 2
  • неблокирующий Домашнее задание 3
  • неблокирующий Контрольная работа 1
  • неблокирующий Самостоятельная работа 2
  • неблокирующий Экзамен (письменный)
  • неблокирующий Домашнее задание 4
  • неблокирующий Домашнее задание 5
  • неблокирующий Самостоятельная работа 1
  • неблокирующий Самостоятельная работа 3
  • неблокирующий Самостоятельная работа 4
Промежуточная аттестация

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

  • Промежуточная аттестация (2 модуль)
    0.1 * Домашнее задание 1 + 0.1 * Домашнее задание 2 + 0.1 * Домашнее задание 3 + 0.1 * Домашнее задание 4 + 0.1 * Домашнее задание 5 + 0.1 * Контрольная работа 1 + 0.075 * Самостоятельная работа 1 + 0.075 * Самостоятельная работа 2 + 0.075 * Самостоятельная работа 3 + 0.075 * Самостоятельная работа 4 + 0.1 * Экзамен (письменный)
Список литературы

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

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

  • Hastie, T., Tibshirani, R., Friedman, J. The elements of statistical learning: Data Mining, Inference, and Prediction. – Springer, 2009. – 745 pp.
  • 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
  • Rogers, S., & Girolami, M. (2016). A First Course in Machine Learning (Vol. 2nd ed). Milton: Chapman and Hall/CRC. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1399490
  • Кремер Н. Ш. - МАТЕМАТИЧЕСКАЯ СТАТИСТИКА. Учебник и практикум для академического бакалавриата - М.:Издательство Юрайт - 2019 - 259с. - ISBN: 978-5-534-01654-3 - Текст электронный // ЭБС ЮРАЙТ - URL: https://urait.ru/book/matematicheskaya-statistika-433671
  • Энатская Н. Ю., Хакимуллин Е. Р. - ТЕОРИЯ ВЕРОЯТНОСТЕЙ И МАТЕМАТИЧЕСКАЯ СТАТИСТИКА. Учебник и практикум для СПО - М.:Издательство Юрайт - 2019 - 399с. - ISBN: 978-5-534-11917-6 - Текст электронный // ЭБС ЮРАЙТ - URL: https://urait.ru/book/teoriya-veroyatnostey-i-matematicheskaya-statistika-446435

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

  • Vanderplas, J. T. (2016). Python Data Science Handbook : Essential Tools for Working with Data (Vol. First edition). Sebastopol, CA: Reilly - O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=nlebk&AN=1425081
  • Митчелл Р. - Скрапинг веб-сайтов с помощю Python - Издательство "ДМК Пресс" - 2016 - 280с. - ISBN: 978-5-97060-223-2 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/100903