Как бы я изучал Data Science, если бы начал пару лет назад, или Руководство по эффективному изучению науки о данных

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.
Когда я только начал своё путешествие к науке о данных, я потратил много времени на то, чтобы понять, с чего начать, что я должен узнать в первую очередь и какие ресурсы должен использовать. За последние два года я узнал несколько вещей, о которых хотел знать раньше, например о том, стоит ли сначала сосредоточиться на программировании или статистике, какие ресурсы я должен использовать для изучения новых навыков, как я должен подходить к изучению этих навыков и так далее. Таким образом, эта статья написана, чтобы дать направления и идеи для тех, кто изучает Data Science.




Оглавление:


Введение
1. Математика и статистика
2. Основы программирования
3. Алгоритмы и понятия машинного обучения
4. Проекты в области дата-сайнс

Введение


Я предполагаю, что как начинающий дата-сайентист вы захотите полностью понять концепции и детали различных алгоритмов машинного обучения, понятия дата-сайнс и так далее.
Поэтому я рекомендую вам начать с базы, прежде чем вы даже посмотрите на алгоритмы машинного обучения или приложения для анализа данных. Если у вас нет базового понимания математического анализа и интегралов, линейной алгебры и статистики, вам будет трудно понять лежащую в основе различных алгоритмов механику. Точно так же, если у вас нет базового понимания Python, вам будет трудно воплотить свои знания в реальных приложениях. Ниже приведен порядок тем, которые я рекомендую изучить:

  1. Математика и статистика.
  2. Основы программирования.
  3. Алгоритмы и понятия машинного обучения.



1. Математика и статистика


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

Интегралы


Интегралы важны, когда речь заходит о распределении вероятностей и тестировании гипотез. Хотя вам не нужно быть экспертом, в ваших же интересах изучить основы интегралов. Первые две статьи предназначены для тех, кто хочет получить представление о том, что такое интегралы, или для тех, кому нужно просто освежить знания. Если вы абсолютно ничего не знаете об интегралах, я рекомендую вам пройти курс Академии Хана. Наконец, вот ссылки на ряд практических задач, чтобы отточить навыки:

  • Введение в интегралы (статья).
  • Ускоренный курс по интегралам (статья).
  • Академия Хана: интегральное исчисление (курс).
  • Практические вопросы (начните с блока 6).

Статистика


Если и есть какая-то тема, на которой вы должны сосредоточиться, то это статистика. В конце концов, дата-сайентист — это действительно современный статистик, а машинное обучение — это современный термин для статистики. Если у вас есть время, я рекомендую вам пройти курс Джорджии Тек под названием «Статистические методы», который охватывает основы вероятности, случайные величины, распределение вероятностей, тестирование гипотез и многое другое. Если у вас нет времени посвятить себя этому курсу, я настоятельно рекомендую посмотреть видео Академии Хана по статистике.

Линейная алгебра


Линейная алгебра особенно важна, если вы хотите погрузиться в глубокое обучение, но даже тогда это полезно знать для других фундаментальных концепций машинного обучения, таких как анализ основных компонентов и рекомендательные системы. Для освоения линейной алгебры я также рекомендую Академию Хана!


2. Основы программирования


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

SQL


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

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

Ниже приведены несколько ресурсов, которые вы можете использовать для практики SQL:

  • Вопросы на Leetcode.
  • Вопросы на HackerRank.
  • Примеры реализации.

Python


Я начинал с Python и, вероятно, останусь с этим языком до конца жизни. Он далеко впереди, с точки зрения вкладов в Open Source, и его легко изучить. Не стесняйтесь обращаться к R, если захотите, но у меня нет никаких мнений или советов относительно R. Я обнаружил, что изучение Python с помощью практики гораздо полезнее. Тем не менее, пройдя несколько краш-курсов Python, я пришёл к выводу, что этот курс наиболее полный (и при этом бесплатный!).

  • Введение в программирование на Python — Georgia Tech

Pandas


Пожалуй, самая важная библиотека, которую нужно знать, — это Pandas, которая специально предназначена для манипулирования данными и их анализа. Ниже приведены два ресурса, которые должны ускорить ваше обучение. Первая ссылка — туториал о том, как использовать Рandas, а вторая ссылка содержит множество практических задач, которые вы можете решать, чтобы закрепить свои знания!

  • Изучайте pandas на Kaggle.
  • Практикуйтесь с Рandas на десятках практических задач!



3. Алгоритмы и понятия машинного обучения


Если вы дошли до этой части статьи, это означает, что вы построили свой фундамент и готовы изучать интересные вещи. Эта часть разделена на две другие: алгоритмы машинного обучения и понятия машинного обучения.

Алгоритмы машинного обучения


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

  • Линейная регрессия (Georgia Tech, StatQuest).
  • Логистическая регрессия (StatQuest).
  • K ближайшим соседям (MIT).
  • Деревья решений (StatQuest).
  • Наивный Байес (Теренс Шин, Луис Серрано).
  • Метод опорных векторов (туториал SVM, Алиса Чжао).
  • Нейронные сети (Теренс Шин).
  • Случайные леса (StatQuest).
  • AdaBoost (Теренс Шин, StatQuest).
  • Градиентный бустинг (StatQuest).
  • XGBoost (StatQuest).
  • Метод главных компонент (StatQuest).

Понятия машинного обучения


Кроме того, есть несколько фундаментальных понятий машинного обучения, которые вы также захотите изучить. Ниже приведён (не исчерпывающий) список понятий, которые я настоятельно рекомендую изучить. Многие вопросы интервью основаны на этих темах!

  • Регуляризация.
  • Дилемма смещения — дисперсии.
  • Матрица путаницы и соответствующие метрики.
  • Площадь под кривой ROC и ROC (видео).
  • Бутстрэп-выборка.
  • Ансамблевое обучение, бэггинг и бустинг.
  • Нормализация и стандартизация.



4. Проекты в области дата-сайнс


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

  • Прогнозирование качества вина с помощью методов классификации (статья, Github).
  • Визуализация данных о коронавирусе с помощью Plotly (статья, Github).
  • Система рекомендаций фильмов с совместной работой фильтров (Github).

Вот список проектов в области Data Science, которые вы можете посмотреть, чтобы придумать интересный сторонний проект.

Я надеюсь, что этот пост даст вам направление и поможет в вашей карьере в области Data Science. Нет никакой серебряной пули, так что не стесняйтесь относиться к этому посту скептически, но я действительно верю, что изучение основ принесёт свои плоды в будущем. А промокод HABR — добавит 10% к скидке на обучение, отраженной на баннере.

image


  • Обучение профессии Data Science
  • Обучение профессии Data Analyst

Eще курсы
  • Frontend-разработчик
  • Профессия Веб-разработчик
  • Курс «Python для веб-разработки»
  • Продвинутый курс «Machine Learning Pro + Deep Learning»
  • Курс по Machine Learning
  • Курс «Математика и Machine Learning для Data Science»
  • Профессия Этичный хакер
  • Разработчик игр на Unity
  • Курс по JavaScript
  • Профессия Java-разработчик
  • C++ разработчик
  • Курс по аналитике данных
  • Курс по DevOps
  • Профессия iOS-разработчик с нуля
  • Профессия Android-разработчик с нуля

Источник: https://habr.com/ru/company/skillfactory/blog/532164/


Интересные статьи

Интересные статьи

В Европе и США менторство и коучинг давно стали частью жизни. В российском IT наставничество только набирает обороты. Обсудили с Георгием Могелашвили glamcod...
Я переводчик в компании CG Tribe в Ижевске, и я продолжаю выкладывать перевод руководства к Vulkan API. Ссылка на источник — vulkan-tutorial.com. Эта публикация посвящена переводу раздел...
Любому программисту будет полезно понимание различных структур данных и способов анализа их производительности. Но на практике мне ни разу не пригождались АВЛ-деревья, красно-чёрные деревья, пр...
Нет времени объяснять, вот главные постулаты сегодняшнего перевода: чат-боты не имеют предельных издержек и продают в 4 раза больше, чем люди; вероятность продажи падает на 79%, если люди п...
Свежим мартовским днём 2016 года Стивен Олвайн вошёл в закусочную «Вендис» в Миннеаполисе. Ощущая запах застарелого масла для жарки, он искал человека в тёмных джинсах и синей куртке. Олвайн,...