Как обучиться Data Science, не потратив ни копейки
Подробный план со ссылками на бесплатные учебные ресурсы.
Подробный план со ссылками на бесплатные учебные ресурсы.
Учёба на магистра Data Science в обычном офлайновом вузе США может стоить от $30 тысяч до $120 тысяч.
Перевод этой статьи с сайта Towards Data Science — для тех, кто не желает тратиться или просто не может себе позволить такое удовольствие, но очень хочет стать дата-сайентистом. Ребекка Викери (10 лет в сфере) делится программой, по которой изучала DS сама.
План состоит из трех частей (технические навыки, теория, практика) и полностью построен на бесплатных материалах. Для тех, кто всё же готов немного инвестировать в самообразование, прикреплены ссылки на курсы, которые ускорят процесс.
— Советую начинать именно с них, чтобы вы сразу ориентировались на практику, а не уходили в математическую теорию. Самый популярный язык программирования в DS — Python. По опросу Kaggle, который площадка проводила внутри своего сообщества специалистов по обработке данных и машинному обучению в 2018 году, 83% респондентов используют Python ежедневно. Поэтому в первую очередь изучите его, но немного внимания нужно будет уделить кое-каким другим языкам. Например, R.
В сети масса бесплатных вводных курсов, но лично я считаю, что лучшие — это курсы Codecademy: в них много практических заданий, все они выполняются в браузере.
Предлагаю пройти вот этот вводный курс по Python. Здесь изложены основы синтаксиса, функции, поток управления, циклы, модули и классы.
Далее нужно очень хорошо разобраться с тем, как Python используют в анализе данных.
SQL — обязательный навык для дата-сайентиста, так как одним из ключевых процессов моделирования данных является, прежде всего, их извлечение. В большинстве случаев вам будет нужно уметь запускать SQL-запросы к базам данных.
Вот пара бесплатных ресурсов для тех, кто решил не брать полный курс на Dataquest.
Не ограничивайтесь Python: дата-сайентисту очень полезно владеть языком R, поэтому советую пройти вводный курс ещё и по нему.
Бесплатный вариант есть на Codecademy.
Стоит отметить, что эта площадка тоже предлагает комплексную программу по подготовке дата-сайентистов, но только по подписке на тариф Pro. Стоит она от $15,99 до $ 31,99 в месяц — смотря на сколько месяцев вперёд платить. Лично мне курс Dataquest показался гораздо более содержательным, хотя здесь может получиться немного дешевле, если вы предпочитаете заниматься по одной платформе.
Купить комплексную программу на Codeacademy.
Дата-сайентисту будет нелишним освоить навыки и лучшие практики разработки софта: это улучшит читабельность вашего кода, и его будет проще дополнять — как вам самим, так и другим. Кроме того, чтобы выкатывать модели в продакшн, нужно научиться генерировать качественный, хорошо проверенный код и работать с такими инструментами, как системы контроля версий.
В помощь вам — два ресурса:
Самое лучшее и развёрнутое введение в глубокое обучение дают авторы fast.ai — этот ресурс тоже бесплатный, и на нём совершенно нет рекламы.
Курс включает введение в машинное обучение, практические аспекты глубокого обучения, вычислительную линейную алгебру, а также введение в обработку естественного языка с акцентом на программирование. Все курсы на этом сайте объединяет прикладной подход, поэтому очень советую не проходить мимо.
По ходу изучения технических моментов вам неизбежно будет встречаться теория, которая стоит за кодом.
Призываю учить теорию без отрыва от практики.
Например, я изучаю код, чтобы научиться применять какую-то технику (скажем, метод k-средних, KMeans), а когда она сработает, начинаю глубже разбираться с понятиями, которые с ней связаны (например, с инертностью, Inertia).
В этом разделе математики рассматривается связь между функцией и её производной, из-за которой изменение одной переменной величины приводит к изменению другой. Матанализ позволяет, например, выявлять паттерны, понимать, как функция меняется с течением времени.
В машинном обучении матанализ помогает оптимизировать производительность алгоритмов. Один из примеров — метод градиентного спуска. Он состоит в том, что при обучении по одному изменяют весовые коэффициенты нейросети для поиска минимального значения функции потерь.
Что нужно знать.
Производные (Derivatives)
Цепное правило (или Правило дифференцирования сложной функции, Chain rule)
Градиенты (Gradients)
Многие распространённые инструменты машинного обучения, в том числе XGBOOST, для хранения входных данных и обработки данных используют матрицы. Матрицы, наряду с векторными пространствами и линейными уравнениями, изучает линейная алгебра. Уверенное знание этого раздела математики очень важно для понимания механизма многих методов машинного обучения.
Что нужно знать.
Векторы и пространства (Vectors and spaces)
Матричные преобразования (Matrix transformations)
Что нужно знать
Описательная/дескриптивная статистика (Descriptive/Summary statistics)
Планирование эксперимента (Experiment design)
Машинное обучение (Machine learning)
Теперь можно приступить к третьей части программы — практическому опыту. Чтобы отточить полученные скиллы, их нужно задействовать в проектах — желательно, чтобы они были похожи на какие-то уже существующие приложения. Попутно перед вами будут возникать разные сложности, но справляясь с ними, вы очень хорошо «прощупаете» предмет и прокачаете свои знания.
Конкурсы по машинному обучению — отличная возможность потренироваться создавать модели. Там есть доступ к множеству датасетов, предназначенных для решения отдельных задач. По турнирной таблице можно сравнивать свои успехи с другими участниками. А ещё по результатам вам будет видно, в каких темах у вас пробелы и что нужно подтянуть.
Помимо Kaggle, есть разные другие платформы, где можно попробовать свои силы. Например Analytics Vidhya и DrivenData.
UCI Machine Learning Repository — огромный клад публичных датасетов, которые можно использовать в домашних ML-проектах. Создайте портфолио на GitHub и размещайте проекты в нём. Оно будет не только демонстрировать ваши способности и достижения, но и в дальнейшем может помочь найти работу.
Участвуйте в чужих проектах. Очень многие Python-библиотеки поддерживаются опенсорс-сообществом. В рамках митапов и конференций часто проводят хакатоны, куда приглашают даже новичков. Это хорошая возможность для взаимного «обмена премудростями»: здесь можно и чему-то научиться у других, и поделиться знаниями. Один из вариантов — хакатон, спонсируемый фондом NumFOCUS.
Практические ресурсы хорошо разнообразят книги по Data Science из этого списка. Все можно найти в открытых источниках.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.
Сразу вспомнился мем про девушку, изучавшую javascript.