ML на Python: практика, проекты и подготовка к работе

Практический курс по Machine Learning для начинающих, которые уже знают основы Python и хотят перейти от учебных примеров к собственным ML-проектам. Вы освоите NumPy, Pandas, EDA, визуализацию, подготовку признаков, метрики, scikit-learn и CatBoost, а затем пройдёте полный путь от baseline до итогового проекта.…
Начальный уровень
10-12 часов в неделю
Сертификат Stepik

Чему вы научитесь

  • Работать с NumPy и Pandas
  • Очищать, исследовать и визуализировать данные
  • Проводить разведочный анализ данных — EDA
  • Применять основы математики и статистики в ML
  • Находить ошибки и проблемы в датасетах
  • Подготавливать признаки для машинного обучения
  • Разделять данные на обучающую и тестовую выборки
  • Строить baseline-модели
  • Обучать модели с помощью scikit-learn и CatBoost
  • Выбирать метрики классификации и регрессии
  • Диагностировать переобучение и недообучение
  • Обнаруживать утечки данных
  • Сравнивать модели и анализировать результаты
  • Организовывать и фиксировать ML-эксперименты
  • Решать ML-задачу от постановки до итоговой оценки
  • Оформлять и публиковать ML-проекты на GitHub
  • Работать над ML-задачами в условиях хакатона
  • Превращать участие в хакатонах в опыт и портфолио

О курсе

Привет! Меня зовут Дмитрий Анпилов.

Этот курс я создавал для человека, который уже знаком с Python, интересуется машинным обучением, но пока не понимает, как превратить отдельные знания в полноценный ML-проект.

Можно пройти урок по Pandas, посмотреть видео про CatBoost, прочитать статью о метриках и даже обучить несколько моделей. Но после этого всё равно может остаться главный вопрос: что именно делать, когда перед тобой появляется новый датасет и реальная задача?

С чего начинать анализ? Какие данные можно использовать? Что считать целевой переменной? Как выбрать метрику? Зачем строить простую модель, если можно сразу запустить сложную? Почему результат на тестовой выборке выглядит хорошо, а на новых данных модель начинает ошибаться?

Именно на эти вопросы мы будем отвечать по ходу курса.

Здесь машинное обучение рассматривается не как набор библиотек и команд, которые нужно запомнить. Мы будем разбирать полный процесс работы над задачей: от знакомства с данными и первого анализа до обучения модели, проверки результата и оформления проекта.

Сначала вы научитесь уверенно работать с NumPy и Pandas, очищать таблицы, находить пропуски и аномалии, исследовать распределения и строить визуализации. Затем мы перейдём к статистике, подготовке признаков, разделению данных, выбору метрик и построению первых моделей.

После этого разберём scikit-learn, CatBoost, переобучение, недообучение, утечки данных, подбор параметров и сравнение экспериментов. Постепенно отдельные темы сложатся в единый рабочий процесс, которым можно пользоваться в собственных проектах.

В курсе будет много практики. После основных тем вас ждут тесты, задачи по программированию, работа с таблицами, анализ чужого кода, поиск ошибок и мини-проекты. Некоторые задания будут построены как рабочие ситуации, где недостаточно вспомнить определение или скопировать пример из лекции.

Вам потребуется самостоятельно понять условие, изучить данные, выбрать подход и объяснить полученный результат.

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

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

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

Почему в курсе много внимания уделяется хакатонам

У этого курса есть отдельное направление, связанное с ML-хакатонами.

Я считаю хакатоны одним из самых доступных способов получить практический опыт в машинном обучении. На соревновании мало просто знать синтаксис Python или уметь вызвать метод fit(). Нужно разобраться в незнакомой задаче, быстро исследовать данные, построить первое рабочее решение, распределить время и представить результат экспертам.

Всего я участвовал в 17 хакатонах. В двух офлайн-хакатонах мои команды заняли первое место. Почти в каждом из остальных соревнований мы входили в топ 20.

На хакатоне Белгородской области по искусственному интеллекту мы разработали ИИ-агента технической поддержки. Система помогала обрабатывать обращения пользователей, находить нужную информацию и подготавливать ответы.

На офлайн-хакатоне в Санкт-Петербурге наша команда создала ИИ-помощника для врача-профпатолога. Он помогал анализировать медицинскую информацию и подготавливать данные для принятия решения специалистом.

Но самым важным результатом хакатонов для меня стали не места в рейтинге.

После одного из соревнований меня пригласили на мою первую работу в качестве ML-инженера по компьютерному зрению (CV ML). Поэтому я знаю на собственном опыте, что хакатон может быть не только соревнованием, но и возможностью показать свои навыки будущему работодателю.

Конечно, участие в хакатоне не гарантирует трудоустройство. Можно сделать сильное решение и не получить предложение. Можно несколько раз не попасть даже в верхнюю часть таблицы. Это нормальная часть процесса.

Хакатоны дают другое: опыт, проекты для портфолио, работу в команде, знакомство с экспертами и возможность проверить знания на задаче, где заранее нет готового ответа.

В отдельном блоке курса мы разберём:

  • как выбирать хакатоны;
  • как читать условия и критерии оценки;
  • как собрать команду и распределить роли;
  • как быстро провести первый анализ данных;
  • как построить рабочий baseline;
  • как вести лог экспериментов;
  • как подготовить презентацию;
  • как оформить результат для GitHub и резюме;
  • как использовать участие в хакатоне при поиске первой работы.

Моя задача состоит не в том, чтобы убедить каждого ученика участвовать в соревнованиях. Я хочу показать этот путь тем, кому недостаточно только учебных заданий и кто хочет проверить себя на практике.

Немного обо мне

Я окончил НИУ «БелГУ» по направлению «Инфокоммуникационные технологии и системы связи».

Позже продолжил обучение программированию и машинному обучению в «Школе 21» по направлению Machine Learning.

Сейчас я учусь в магистратуре НИУ «БелГУ» по направлению «Искусственный интеллект».

Я занимаюсь машинным обучением, анализом данных, компьютерным зрением и разработкой систем с использованием больших языковых моделей. Кроме учебных проектов, я участвую в соревнованиях и стараюсь сразу применять новые знания в практических задачах.

Этот курс появился из моего собственного опыта обучения. Мне хотелось собрать в одном месте последовательный путь, где сначала объясняются данные и базовые принципы, а уже затем появляются более сложные модели и инструменты.

Что находится внутри курса

В курс входят:

  • подробные теоретические уроки;
  • примеры кода на Python;
  • практические задания;
  • тесты с правдоподобными вариантами ответов;
  • задачи на анализ кода и поиск ошибок;
  • математические и статистические задачи;
  • работа с реальными датасетами;
  • мини-проекты;
  • шпаргалки и чек-листы;
  • отдельный блок о ML-хакатонах;
  • итоговый самостоятельный проект;
  • экзамены по основным разделам.

Я не хочу, чтобы после прохождения курса ученик просто знал названия библиотек и алгоритмов.

Гораздо важнее научиться понимать, что происходит на каждом этапе работы:

  • какую задачу мы решаем;
  • что находится в данных;
  • каким данным можно доверять;
  • что использовать в качестве признаков;
  • с какой модели лучше начать;
  • какую метрику выбрать;
  • почему модель ошибается;
  • действительно ли новое решение лучше предыдущего;
  • можно ли использовать полученный результат на практике.

Иногда высокая метрика означает, что модель работает хорошо. Иногда она означает, что в данные попала утечка. А иногда можно получить отличное качество и при этом очень точно решить не ту задачу.

Мы будем учиться различать эти ситуации.

Для кого этот курс

• начинающие в машинном обучении, уже знакомые с основами Python; • Python-разработчики, которые хотят перейти в Machine Learning; • студенты технических и математических направлений; • аналитики, желающие освоить классическое машинное обучение; • участники и будущие участники ML-хакатонов; • специалисты, которые хотят сменить направление в IT; • начинающие ML-разработчики, которым нужны проекты для портфолио; • люди с аналитическим складом мышления, которым нравится работать с числами, логикой и данными.

Начальные требования

Курс рассчитан на начинающих в Machine Learning, но не на абсолютных новичков в программировании.

Для прохождения курса необходимо:

• знать базовый синтаксис Python;
• понимать переменные, условия, циклы и функции;
• уметь работать со списками и словарями;
• уметь самостоятельно запускать Python-код;
• иметь возможность работать локально или в Google Colab;
• быть готовым разбираться в формулах, графиках и статистике;
• выделять на обучение примерно 10–12 часов в неделю.

Предварительный опыт в Machine Learning не требуется.

Углублённое знание высшей математики также не требуется: необходимые понятия из линейной алгебры, статистики, теории вероятностей и математического анализа объясняются внутри курса.

Наши преподаватели

Как проходит обучение

Курс проходит в самостоятельном темпе и не привязан к жёстким дедлайнам.

Обучение построено последовательно: каждая новая тема опирается на уже изученный материал и постепенно приближает вас к самостоятельному решению полноценной ML-задачи.

В курс входят:

• подробные теоретические уроки;
• примеры кода на Python;
• тесты на понимание материала;
• задачи на анализ кода и поиск ошибок;
• численные и математические задачи;
• практические задания по программированию;
• работа с реальными датасетами;
• мини-проекты;
• шпаргалки и чек-листы;
• отдельный блок о ML-хакатонах;
• итоговый самостоятельный проект;
• экзамены по основным разделам курса.

После теоретических тем вам потребуется применять материал на практике: исследовать данные, выбирать признаки, строить baseline, обучать модели, сравнивать метрики и объяснять полученный результат.

Рекомендуемая нагрузка — 10–12 часов в неделю. Фактическое время зависит от подготовки и глубины проработки практических заданий.

Программа курса

загружаем...
Certificate

Сертификат

Сертификат Stepik

Что вы получаете

  • Системное понимание полного цикла работы над ML-задачей
  • Практический опыт работы с реальными датасетами
  • Навыки использования NumPy, Pandas и scikit-learn
  • Понимание метрик, переобучения и утечек данных
  • Опыт работы с CatBoost
  • Практику построения и улучшения baseline-моделей
  • Опыт самостоятельного проведения ML-экспериментов
  • Мини-проекты для развития портфолио
  • Итоговый самостоятельный ML-проект
  • Понимание устройства и правил ML-хакатонов
  • Стратегию подготовки решения в ограниченное время
  • Навыки презентации технического проекта
  • Понимание того, как оформить хакатон для резюме и GitHub
  • Шпаргалки и чек-листы по основным темам
  • Базу для дальнейшего изучения ML, Computer Vision и NLP

Сколько стоит обучение

Price: 1 990 
Вы попробовали и поняли, что вам сейчас не подходит этот курс? Ничего страшного, мы вернём вам деньги в течение 30-ти дней после покупки.

Часто задаваемые вопросы

Расскажите о курсе друзьям

Price: 1 990