• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
2023/2024

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

Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Статус: Маго-лего
Когда читается: 1, 2 модуль
Охват аудитории: для своего кампуса
Преподаватели: Кулаев Максим Александрович
Язык: русский
Кредиты: 6
Контактные часы: 60

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

Аннотация

Курс предназначен для разработчиков, желающих углубить знания в области машинного обучения (ML) и освоить ключевые инструменты для работы с ML-системами. Программа охватывает полный цикл разработки: от подготовки данных до развертывания и мониторинга моделей. Студенты познакомятся с методологией CRISP-ML, инструментами управления данными (DVC, Git), базами данных (реляционными, объектными, векторными), а также освоят трекинг экспериментов с MLFlow. Научатся контейнеризировать приложения с помощью Docker и настраивать развертывание в Kubernetes. Особое внимание будет уделено CI/CD процессам и мониторингу ML-систем с использованием Prometheus и Grafana. Практические задания включают настройку хранилищ данных, автоматизацию с Airflow, развертывание моделей, создание REST API и настройку мониторинга. Завершает курс защита проекта и тренировка технических собеседований. При обучении предусмотрен контроль знаний студентов в виде проектной работы и промежуточных контролей, сумма баллов за которые составляет итоговую оценку за курс.
Цель освоения дисциплины

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

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

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

  • Способен получать, очищать, анализировать и визуализировать большие объёмы данных
  • Способен реализовывать модели и алгоритмы прикладной математике в виде компьютерных программ
  • Знает методологию CRISP-ML, устройство разработки ML проекта.
  • Знает о наиболее распространенных хранилищах, базах данных
  • Знает локальные и распределенные файловые системы, базы данных: реляционные, объектные
  • Знает о подходах к версионированию данных (кода, датасетов, моделей)
  • Знает, что такое разметка данных, зачем нужна и в каких ситуациях
  • Умеет версионировать данные с помощью связки инструментов dvc + git
  • Знает, что такое векторный движок, векторная база данных, key-value база данных
  • Знает, что такое ML эксперимент, как его ставить, какие данные об эксперименте нужно сохранять, чтобы этот эксперимент можно было повторить
  • Знает о типичных инструментах для трекинга, анализа эксперимента таких как MLFlow, KubeFlow + TensorBoard
  • Знает, что такое Docker, Kubernetes, что это за инструменты, для чего используются, какие проблемы решают, базово про их устройство
  • Знает, что такое http запрос, REST API, о том как можно обернуть модель в REST сервис
  • Умеет выполнять базовые команды Docker, как собирать, загружать образы, Dockerfile, docker-compose
  • Умеет делать базовое web приложение на Flask/FastAPI
  • Знает о подходах к обертке модели в сервис посредством готовых инструментов
  • Знает, в чем плюсы и минусы в сравнении с собственной реализацией, области применения
  • Знает о различных форматах представления, экспорта моделей, способов их оптимизации, в том числе на ГПУ
  • Умеет использовать и синхронизировать потоки
  • Знает о том, что такое регулярные расчеты, ETL, потоковая и батчевая обработка данных
  • Знает про инструменты запуска регулярных расчетов (Airflow), обработки потоковых данных (Kafka), их принципы работы
  • Знает про типичные задачи, которые решаются этими инструментами
  • Знает, в чем состоит концепция CI/CD, чем он может быть полезен, какие типичные сценария применения в рабочих процессах
  • Умеет настраивать CI/CD пайплайны в рамках gitlab
  • Знает, зачем нужно настраивать мониторинг своих сервисов, какие обычно метрики отслеживают, в том числе и ML специфичные
  • Знает о базовых концепциях аб тестирования
  • Умеет настраивать дашборды с метриками
Содержание учебной дисциплины

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

  • Введение в Python
  • Библиотека Numpy
    Д/З: написание типовых конструкций с использованием выражений-генераторов и функций.
  • Библиотека Pandas
    Д/З: написать программу для скачивания информации о самых популярных 5000 книг из раздела "Художественная литература" магазина "Relod" с использованием библиотек BeautifulSoup и/или lxml.
  • Визуализация данных
  • Углубленный Python. Часть 1
  • Углубленный Python. Часть 2
  • Парсинг данных с помощью Python
  • Введение в статистику - 1
    Д/З: Мини-проект по анализу данных
  • Введение в статистику - 2
  • Временные ряды
    Д/З: Kaggle Inclass
  • Введение в SQL
Элементы контроля

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

  • неблокирующий Коллоквиум
  • неблокирующий ДЗ
  • неблокирующий Экзамен
Промежуточная аттестация

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

  • 2023/2024 учебный год 2 модуль
    0.7 * ДЗ + 0.2 * Коллоквиум + 0.1 * Экзамен
Список литературы

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

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

  • Provost, Foster, Fawcett, Tom. Data Science for Business: What you need to know about data mining and data-analytic thinking. – " O'Reilly Media, Inc.", 2013.
  • Python и анализ данных, Маккинни, У., 2015
  • Маккинни, У. Python и анализ данных / У. Маккинни , перевод с английского А. А. Слинкина. — 2-ое изд., испр. и доп. — Москва : ДМК Пресс, 2020. — 540 с. — ISBN 978-5-97060-590-5. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/131721 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.

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

  • Изучаем Python. Программирование игр, визуализация данных, веб-приложения. 2-е изд. - 978-5-4461-0479-6 - Мэтиз Э. - 2017 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/355480 - 355480 - iBOOKS

Авторы

  • Сластников Сергей Александрович