Как составить индивидуальную программу и изучить data science бесплатно
Сегодня data science — одно из самых востребованных ИТ-направлений, но возможность изучить «науку о данных» есть не у всех. Фанат машинного обучения Харрисон Янсма уверен, что даже несмотря на отсутствие средств, главное — энтузиазм и настрой на успех. В статье на Medium он поделился советами, как составить индивидуальную программу изучения науки о данных, и инструментами, которые помогут сделать первые шаги на этом пути. dev.by публикует перевод статьи.
Под «data science» я имею в виду инструменты для обработки информации с целью применить её в прикладных решениях. Сюда относятся машинное обучение, технологии баз данных, статистика, программирование и специализированные технологии.
С чего начать
Интернет — это безграничный океан неструктурированной информации, и сориентироваться в ней бывает непросто. Но есть ресурсы, которые предлагают выжимку наиболее полезных материалов, например Dataquest, DataCamp или Udacity. Каждый сайт имеет готовые учебные программы, последовательно охватывающие различные темы. Проблема в том, что не все желающие могут их себе позволить, к тому же они не учат применять понятия в рабочих проектах. Также студенты должны придерживаться установленного плана и не могут переключиться на то, что им кажется более интересным.
Но есть бесплатные альтернативы вроде edX и coursera, которые предоставляют единичные курсы по конкретным темам. Они подойдут тем, кто хорошо усваивает информацию в формате видео или лекций.
На этом сайте можно найти список доступных курсов по науке о данных. Есть также бесплатные учебные планы, например в статье Дэвида Вентури, или же более традиционная программа обучения на Open Source DS Masters.
Если вам удобнее читать, книга «Data Science Наука о данных с нуля» Джоэла Граса содержит полноценную программу, которую можно дополнить онлайн-ресурсами. Книгу можно бесплатно скачать в формате pdf.
Это лишь некоторые ресурсы. Есть много других. В следующей части я приведу общую программу обучения, чтобы вы хорошо понимали, какие навыки вам нужно приобрести.
Учебная программа
Программирование на Python
Программирование — главный навык специалиста по обработке данных. Освойте синтаксис Python, разберитесь, какими разными способами можно запускать программу на этом языке: через блокнот Jupyter, командную строку, IDE.
Примерно за месяц я прошёл руководство по Python, вот этот «путеводитель» по Python, и сложности программирования на этом языке на CodeSignal.
Подсказка: собирайте распространённые методы (алгоритмы) решения задач, которыми пользуются программисты.
Статистика и линейная алгебра
Это фундамент для машинного обучения и обработки данных. Если у вас уже есть глубокое знание этих дисциплин, отведите пару недель, чтобы повторить ключевые понятия.
Сделайте особый акцент на описательную статистику: умение понимать датасет стоит дороже золота.
Numpy, Pandas, & Matplotlib
Научитесь загружать, визуализировать данные и проводить над ними различные операции. Владение этими библиотеками будет для вас бесценно в будущих проектах.
Подсказка: не нужно зубрить название каждого метода или функции — это придёт с опытом. Если что-то забыли — загуглите.
Изучите руководства по Pandas, Numpy и Matplotlib. Не ограничивайтесь этими ресурсами: возможно, вам попадётся что-то более интересное.
И помните: единственный способ освоить библиотеки — использовать их практике.
Машинное обучение
Изучите теорию по алгоритмам машинного обучения и как применять их. Отрабатывайте изучаемые методы на реальных данных, которые вам интересны.
Большинство новичков начинает с тренировочных датасетов из репозитория по машинному обучению от UCI. Экспериментируйте с данными и пользуйтесь пошаговыми руководствами.
В документации Scikit-learn есть отличные уроки по применению распространённых алгоритмов. Вот этот бесплатный образовательный подкаст содержит полезную теорию по машинному обучению. Его можно слушать в пути или во время тренировок.
Производственные системы
Получив должность специалиста по данным, вы будете применять данные об окружающем мире в прикладных решениях. Вам придётся научиться использовать вычислительные ресурсы компании для добычи, преобразования и обработки данных.
Объяснению этой части программы по науке о данных уделяют меньше всего внимания, в основном потому, что в каждой отрасли применяют определённые проблемно-ориентированные инструменты.
Однако навык управления базами данных является обязательным. Работе с базами данных с помощью кода можно научиться на ModeAnalytics или Codecademy. За небольшую сумму можно реализовать свою базу данных на DigitalOcean.
Ещё один навык, без которого часто нельзя обойтись — управление версиями. Для этого можно создать аккаунт на GitHub и делать ежедневные коммиты через командную строку.
Выбирая, какие технологии изучить, важно прислушиваться к себе и к тому, что вам самому хотелось бы узнать. Например, если вам нравится веб-разработка, беритесь за инструменты, которые используют компании в этой отрасли.
Советы по прохождению программы
1. Новая информация будет поступать быстрее, чем вы сможете её «переваривать».
Существуют тысячи сайтов и форумов, посвящённых популярным инструментам по обработке данных. Поэтому одна из проблем онлайн-обучения — вы начинаете быстро отвлекаться на постороннее.
Начиная разбирать ту или иную тему, не отступайте от намеченной цели, иначе будете перескакивать на любую попавшуюся на глаза ссылку.
Сохраняйте и систематизируйте интересующие вас веб-ресурсы. Так вы не потеряете материалы, которые нужно посмотреть позже, и сможете сосредоточиться на теме, которая наиболее важна в данный момент.
Если всё делать правильно, вы выстроите последовательную программу самообучения, которая поможет вам придерживаться правильного курса. Вы не будете распыляться, и процесс пойдёт быстрее.
Ваш список материалов к прочтению очень скоро вырастет до сотен. Так и должно быть, поэтому
2. Не паникуйте. Это долгий путь, а не лёгкая прогулка.
Самообучение — это погружение в бездонный колодец знаний. Если вы действительно хотите стать профессионалом в обработке данных, вам придётся учиться всю жизнь. Но помните, что это не самоцель, и главное — процесс обучения.
На пути к знаниям вы будете всё больше открывать и себя и понимать, к чему у вас лежит душа. И чем лучше вы будете понимать себя, тем больше удовольствия станете получать от обучения.
3. Выучили — применили — закрепили.
Нельзя просто выучить одно новое понятие и сразу же браться за другое. И «выучить» здесь значит научиться применять его на практике.
Не обязательно делать отдельный проект по каждому понятию, но нужно справедливо оценивать свои способности и помнить, что вы учитесь для того, чтобы создать что-то важное для остального мира.
4. Соберите портфолио: по нему о ваших умениях будут судит другие люди.
Сомнения — одно из самых трудных для преодоления препятствий в изучении науки о данных. Сомневаться в вас могут как окружающие, так и вы сами. Портфолио — визитная карточка, которая демонстрирует миру ваши способности и уверенность в своих навыках.
Насыщенное портфолио поможет вам получить работу и придаст уверенность в своей компетентности, и это — самое важное, чем вам нужно заняться в процессе обучения.
Наполните его проектами, которыми вы гордитесь, будь то построенное с нуля веб-приложение, ваш собственный аналог IMDB или любопытный анализ медицинских данных.
Подготовьте к ним чёткое описание, хорошо задокументируйте код. И само портфолио должно быть аккуратным. Вот моё портфолио.
Или можно создать репозиторий на GitHub с хорошим ReadMe-файлом (краткое резюме) и соответствующими файлами по проектам.
Вот пример симпатичного и простого портфолио на GitHub. Можно даже сделать отдельную страницу на GitHub.io.
5. Наука о данных + _________________ = карьера моей мечты.
Пропуск заполните сами.
Data science позволяет создавать инструменты, которые изменяют мир. Одни специалисты по данным строят системы машинного зрения для анализа медицинских снимков, другие — обрабатывают миллиарды единиц информации, чтобы найти закономерности в поведении пользователей сайтов. Из всего множества вариантов применения науки о данных найдите то, что будет «зажигать» вас.
Когда тема вам кажется увлекательной, вы будете больше выкладываться, чтобы проект получился как можно лучше. Пока учитесь, ищите проекты или идеи, которые будут разжигать ваш энтузиазм.
Ищите общее в проектах, над которыми работаете с удовольствием. Не поленитесь изучить отрасли, которые связаны с такими проектами. Когда вы найдёте правильную отрасль, сосредоточьтесь на технических знаниях и навыках, необходимых конкретно в ней.
Тогда все вложенные в обучение силы и упорство станут основой успешной карьеры в деле, которое приносит вам настоящее удовольствие.
Заключение
Если вам нравится познавать мир и вы увлекаетесь искусственным интеллектом, дверь в науку о данных для вас открыта, в каком бы положении вы ни находились.
Будет непросто, и вам потребуется целеустремлённость и самодисциплина. Если вы способны заставить себя развиваться, то вполне сможете изучить всё самостоятельно. Ведь это и есть качества специалиста по данным: пытливый ум, мотивация и стремление найти ответы на свои вопросы.
Читать на dev.by