Реклама в Telegram-каналах DzikPic и dev.by теперь дешевле. Узнать подробности 👨🏻‍💻
Support us

Как обучиться Data Science, не потратив ни копейки

Подробный план со ссылками на бесплатные учебные ресурсы.

1 комментарий
Как обучиться Data Science, не потратив ни копейки

Подробный план со ссылками на бесплатные учебные ресурсы.

Учёба на магистра Data Science в обычном офлайновом вузе США может стоить от $30 тысяч до $120 тысяч. 

Перевод этой статьи с сайта Towards Data Science — для тех, кто не желает тратиться или просто не может себе позволить такое удовольствие, но очень хочет стать дата-сайентистом. Ребекка Викери (10 лет в сфере) делится программой, по которой изучала DS сама.

План состоит из трех частей (технические навыки, теория, практика) и полностью построен на бесплатных материалах. Для тех, кто всё же готов немного инвестировать в самообразование, прикреплены ссылки на курсы, которые ускорят процесс.

В AI takeover рассказываем, как вместе с роботами захватывать мир: курсы, советы и другая учёба

Технические навыки специалиста в области Data Science

— Советую начинать именно с них, чтобы вы сразу ориентировались на практику, а не уходили в математическую теорию. Самый популярный язык программирования в DS — Python. По опросу Kaggle, который площадка проводила внутри своего сообщества специалистов по обработке данных и машинному обучению в 2018 году, 83% респондентов используют Python ежедневно. Поэтому в первую очередь изучите его, но немного внимания нужно будет уделить кое-каким другим языкам. Например, R.

Основы Python

В сети масса бесплатных вводных курсов, но лично я считаю, что лучшие — это курсы Codecademy: в них много практических заданий, все они выполняются в браузере.

Предлагаю пройти вот этот вводный курс по Python. Здесь изложены основы синтаксиса, функции, поток управления, циклы, модули и классы.

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

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

  1. Для начала пройдите хотя бы бесплатную часть материалов по анализу данных на dataquest.io. Этот ресурс предлагает полноценные учебные программы по подготовке дата-аналитиков, дата-сайентистов и дата-инженеров. 
  2. Очень много контента, особенно по анализу данных, находится в бесплатном доступе, но если вы захотите выучиться побыстрее и не пожалеете денег, то очень рекомендую оформить подписку на несколько месяцев. Этот курс заложит прочный фундамент для дальнейшего изучения DS. Я прошла программу для дата-сайентистов за полгода. Цены у Dataquest в диапазоне от $24,5 до $49 в месяц в зависимости от того, на какой срок покупать подписку (годовая — дешевле).

Сделать подписку на Dataquest

Python и машинное обучение

  1. По возможности не скупитесь на полный курс по DS на Dataquest: он даст вам крепкую базу по использованию Python в машинном обучении. В противном случае есть множество бесплатных источников. Начинайте со scikit-learn — это, пожалуй, самая популярная ML-библиотека для Python.
  2. Ещё мне повезло попасть на двухдневный воркшоп Андреаса Мюллера, одного из ключевых разработчиков scikit-learn. Материал того курса (и не только) он целиком выложил на GitHub. Здесь есть наглядная графика, конспекты и заметки, над которыми можно поработать самостоятельно, что я вам настоятельно рекомендую.
  3. Стоит ознакомиться с некоторыми туториалами из документации scikit-learn, после чего уже можно попробовать делать настоящие ML-приложения и разбираться с тем, как устроены ML-модели (но об этом позже).
9 быстрых курсов, которые помогут подучить Python за день
9 быстрых курсов, которые помогут подучить Python за день
По теме
9 быстрых курсов, которые помогут подучить Python за день

SQL

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

Вот пара бесплатных ресурсов для тех, кто решил не брать полный курс на Dataquest.

  1. Бесплатный вводный курс в SQL есть на Codecademy. Он очень удобный, кодить нужно не выходя из браузера.
  2. Тем, кто интересуется облачными базами данных и отправкой запросов в них, рекомендую заглянуть на Google Cloud BigQuery. Здесь есть пробная версия (можно потренироваться бесплатно), доступ к обширному массиву публичных датасетов и толковая документация.

R

Не ограничивайтесь Python: дата-сайентисту очень полезно владеть языком R, поэтому советую пройти вводный курс ещё и по нему.

Бесплатный вариант есть на Codecademy.

Стоит отметить, что эта площадка тоже предлагает комплексную программу по подготовке дата-сайентистов, но только по подписке на тариф Pro. Стоит она от $15,99 до $ 31,99 в месяц — смотря на сколько месяцев вперёд платить. Лично мне курс Dataquest показался гораздо более содержательным, хотя здесь может получиться немного дешевле, если вы предпочитаете заниматься по одной платформе.

Купить комплексную программу на Codeacademy.

12 курсов по языку программирования R — от базовых до суперпродвинутых
12 курсов по языку программирования R — от базовых до суперпродвинутых
По теме
12 курсов по языку программирования R — от базовых до суперпродвинутых

Разработка программного обеспечения

Дата-сайентисту будет нелишним освоить навыки и лучшие практики разработки софта: это улучшит читабельность вашего кода, и его будет проще дополнять — как вам самим, так и другим. Кроме того, чтобы выкатывать модели в продакшн, нужно научиться генерировать качественный, хорошо проверенный код и работать с такими инструментами, как системы контроля версий.

В помощь вам — два ресурса:

  1. Python like you mean it охватывает руководство PEP 8, которое описывает общепринятый стиль оформления кода на Python, документацию, и ещё в нём очень сильная часть про объектно-ориентированное программирование.
  2. Этот гайд — о том, как вносить вклад в разработку scikit-learn. Здесь здорово разобраны лучшие подходы и принципы, которые на самом деле универсальны и применимы не только к этой библиотеке. Затрагивается GitHub, юнит-тестирование и отладка кода, причём всё рассмотрено в контексте DS.
Кто такой Data Scientist. Обзор изнутри от Арсения Кравченко
Кто такой Data Scientist. Обзор изнутри от Арсения Кравченко
По теме
Кто такой Data Scientist. Обзор изнутри от Арсения Кравченко

Глубокое обучение

Самое лучшее и развёрнутое введение в глубокое обучение дают авторы fast.ai — этот ресурс тоже бесплатный, и на нём совершенно нет рекламы.

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

Теория

По ходу изучения технических моментов вам неизбежно будет встречаться теория, которая стоит за кодом.

Призываю учить теорию без отрыва от практики.

Например, я изучаю код, чтобы научиться применять какую-то технику (скажем, метод k-средних, KMeans), а когда она сработает, начинаю глубже разбираться с понятиями, которые с ней связаны (например, с инертностью, Inertia).

  1. Все сопутствующие алгоритмам математические термины есть в той же документации scikit-learn.
  2. Ниже я перечислю главное, что нужно изучить из теории вместе с прикладными аспектами. Почти по всем этим вещам есть бесплатные уроки на khan academy. Во время регистрации или в профиле можно выбрать нужные вам дисциплины, и сайт выдаст пошаговый план по каждому предмету.

Математика

Математический анализ (Calculus)

В этом разделе математики рассматривается связь между функцией и её производной, из-за которой изменение одной переменной величины приводит к изменению другой. Матанализ позволяет, например, выявлять паттерны, понимать, как функция меняется с течением времени.

В машинном обучении матанализ помогает оптимизировать производительность алгоритмов. Один из примеров — метод градиентного спуска. Он состоит в том, что при обучении по одному изменяют весовые коэффициенты нейросети для поиска минимального значения функции потерь.

Что нужно знать.

Производные (Derivatives)

  • Геометрический смысл (Geometric definition)
  • Вычисление производной функции (Calculating the derivative of a function)
  • Нелинейные функции (Nonlinear functions)

Цепное правило (или Правило дифференцирования сложной функции, Chain rule)

  • Сложные функции (Composite functions)
  • Производные сложных функций (Composite function derivatives)
  • Множественные функции (Multiple functions)

Градиенты (Gradients)

  • Частные производные (Partial derivatives)
  • Производные по направлению (Directional derivatives)
  • Интегралы (Integrals)

Линейную алгебру (Linear Algebra)

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

Что нужно знать.

Векторы и пространства (Vectors and spaces)

  • Векторы (Vectors)
  • Линейные комбинации (Linear combinations)
  • Линейная зависимость и независимость (Linear dependence and independence)
  • Скалярное произведение и векторное произведение (Vector dot and cross products)

Матричные преобразования (Matrix transformations)

  • Функции и линейные преобразования (Functions and linear transformations)
  • Умножение матриц (Matrix multiplication)
  • Обратные функции (Inverse functions)
  • Транспонирование матрицы (Transpose of a matrix)

Статистика для Data Scientist

Что нужно знать

Описательная/дескриптивная статистика (Descriptive/Summary statistics)

  • Описание выборки данных (How to summarise a sample of data) 
  • Типы распределений (Different types of distributions)
  • Асимметрия, эксцесс, меры центральной тенденции, например среднее арифметическое, медиана, мода (Skewness, kurtosis, central tendency, e.g. mean, median, mode)
  • Меры зависимости и взаимосвязь переменных величин, например корреляция и ковариация (Measures of dependence, and relationships between variables such as correlation and covariance)

Планирование эксперимента (Experiment design)

  • Проверка гипотез (Hypothesis testing)
  • Семплирование (Sampling)
  • Тесты на статистическую значимость (Significance tests)
  • Случайность (Randomness)
  • Вероятность (Probability)
  • Доверительные интервалы и статистический вывод по двум выборкам (Confidence intervals and two-sample inference)
11 курсов по Data Science для новичков и профессионалов
11 курсов по Data Science для новичков и профессионалов
По теме
11 курсов по Data Science для новичков и профессионалов

Машинное обучение (Machine learning)

  • Вывод о наклоне линии регрессии (Inference about slope) 
  • Линейная и нелинейная регрессия (Linear and non-linear regression)
  • Классификация (Classification)

Практика

Теперь можно приступить к третьей части программы — практическому опыту. Чтобы отточить полученные скиллы, их нужно задействовать в проектах — желательно, чтобы они были похожи на какие-то уже существующие приложения. Попутно перед вами будут возникать разные сложности, но справляясь с ними, вы очень хорошо «прощупаете» предмет и прокачаете свои знания.

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

Kaggle

Конкурсы по машинному обучению — отличная возможность потренироваться создавать модели. Там есть доступ к множеству датасетов, предназначенных для решения отдельных задач. По турнирной таблице можно сравнивать свои успехи с другими участниками. А ещё по результатам вам будет видно, в каких темах у вас пробелы и что нужно подтянуть.

Помимо Kaggle, есть разные другие платформы, где можно попробовать свои силы. Например Analytics Vidhya и DrivenData.

ML-репозиторий UCI

UCI Machine Learning Repository — огромный клад публичных датасетов, которые можно использовать в домашних ML-проектах. Создайте портфолио на GitHub и размещайте проекты в нём. Оно будет не только демонстрировать ваши способности и достижения, но и в дальнейшем может помочь найти работу.

Вклад в Open Source

Участвуйте в чужих проектах. Очень многие Python-библиотеки поддерживаются опенсорс-сообществом. В рамках митапов и конференций часто проводят хакатоны, куда приглашают даже новичков. Это хорошая возможность для взаимного «обмена премудростями»: здесь можно и чему-то научиться у других, и поделиться знаниями. Один из вариантов — хакатон, спонсируемый фондом NumFOCUS.

Практические ресурсы хорошо разнообразят книги по Data Science из этого списка. Все можно найти в открытых источниках.

Как написан это материал

В adviser-статьях есть ссылки на партнеров. Это значит, что если вы что-то покупаете с нашей помощью — вы также поддерживаете dev.by. (Вот другой способ).

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

Редакция может выражать свое мнение и пробовать всё на себе.

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

Новый рекламный формат в наших телеграм-каналах.

Купить 500 символов за $150

Читайте также
8 онлайн-курсов и интенсивов для Product Manager (февраль, 2024)
8 онлайн-курсов и интенсивов для Product Manager (февраль, 2024)
8 онлайн-курсов и интенсивов для Product Manager (февраль, 2024)
Собрали проверенные онлайн-курсы и интенсивы для Product Manager. В этой подборке: курсы от действующего PM в Microsoft, актуальная специализация по управлению продуктами в сфере AI, курсы для начинающих специалистов и лайфхаки как проходить собеседования на позицию продакта.
2 комментария
11 лучших сертификаций Coursera, чтобы освоить новую специальность (август, 2023)
11 лучших сертификаций Coursera, чтобы освоить новую специальность (август, 2023)
11 лучших сертификаций Coursera, чтобы освоить новую специальность (август, 2023)
Проанализировали Coursera в поисках лучших профессиональных программ на 2023 год, прохождение которых позволит получить востребованную специальность. Рассказываем, на какие направления обратить внимание и как сертификация Coursera помогает изменить вашу карьеру.
1 комментарий
12 онлайн-курсов по языку Java для новичков и профессионалов (август, 2023)
12 онлайн-курсов по языку Java для новичков и профессионалов (август, 2023)
12 онлайн-курсов по языку Java для новичков и профессионалов (август, 2023)
Java по-прежнему входит в список самых популярных языков программирования. Вместе с Digitaldefynd мы составили список курсов по Java, которые подойдут как новичкам, так и людям с опытом программирования, чтобы освоить этот востребованный язык.
7 курсов для будущих и практикующих разработчиков игр на Unity (июнь 2023)
7 курсов для будущих и практикующих разработчиков игр на Unity (июнь 2023)
7 курсов для будущих и практикующих разработчиков игр на Unity (июнь 2023)
Вместе с Digitaldefynd составили список полезных курсов, сертификаций и тренингов, которые помогут освоить профессию разработчика игр на Unity с нуля, а также прокачать свои навыки тем, кто уже работает в гейм-индустрии. 

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

0

Сразу вспомнился мем про девушку, изучавшую javascript.