Если вы хотите начать изучать науку о данных в 2023 году, вот дорожная карта, которой нужно следовать

Введение

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

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

ПРИМЕЧАНИЕ. Первоначально эта статья была опубликована на DataKwery — единственном в мире сайте для поиска ресурсов по науке о данных и машинному обучению в одном месте. (Ссылка на оригинал статьи — Нажмите здесь)

Схема дорожной карты науки о данных:

  1. Основы языка программирования Python
  2. Основы статистики и математики
  3. Обработка данных и визуализация с использованием библиотек python pandas, NumPy, matplotlib, seaborn и scipy в среде ноутбука jupyter.
  4. Языки программирования SQL и хранилище данных MySQL
  5. Машинное обучение с использованием научного набора
  6. Глубокое обучение с использованием Keras
  7. Концепции и техники НЛП
  8. Развертывание с использованием Streamlit, flask, Docker, AWS/Azure/GCP
  9. Портфолио проектов
  10. Подготовка к собеседованию и заявление о приеме на работу
  11. Основы языка программирования Python

Python — один из наиболее широко используемых языков программирования в настоящее время. Согласно опросу разработчиков StackOverflow в 2022 году, он назван одним из самых популярных языков программирования.

Вот список основ, которые следует изучить:

  1. Основные типы данных: int, float, str, bool
  2. Переменные и операторы присваивания
  3. Операторы потока управления: операторы if-else, циклы for и while
  4. Функции и модули
  5. Списки, кортежи и массивы
  6. Словари и наборы
  7. Обработка исключений
  8. Концепции объектно-ориентированного программирования (ООП), такие как классы, объекты, методы и наследование.
  9. Операции ввода/вывода файлов
  10. Основные регулярные выражения

2. Основы статистики и математики

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

  1. Описательная статистика: меры центральной тенденции (среднее, медиана, мода), меры изменчивости (диапазон, стандартное отклонение, дисперсия) и меры формы (асимметрия, эксцесс).
  2. Вероятность: основные концепции вероятности, такие как условная вероятность, теорема Байеса и случайные величины. Наряду с этим обязательными являются распределения вероятностей, оценка, проверка гипотез и байесовские методы.
  3. Выводная статистика: такие понятия, как оценка, проверка гипотез, p-значения и доверительные интервалы.
  4. Линейная алгебра. Такие понятия, как векторы, матрицы и матричные операции, важны для понимания линейной регрессии и других алгоритмов машинного обучения.
  5. Исчисление. Такие понятия, как градиент, частные производные и оптимизация, важны для понимания алгоритмов машинного обучения.
  6. Многомерное исчисление: такие понятия, как градиенты, якобиан, гессиан и оптимизация, которые важны для понимания нейронных сетей и других алгоритмов машинного обучения.
  7. Анализ временных рядов: такие понятия, как скользящие средние, экспоненциальное сглаживание, модели ARIMA.

3. Обработка и визуализация данных в среде Jupyter Notebook

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

Библиотеки Python, такие как Pandas, NumPy, seaborn, matplotlib, plotly, sklearn и scipy, необходимо освоить, чтобы стать экспертом в обработке и визуализации данных.

Вот некоторые задачи и библиотеки на этом этапе:

  1. Обработка данных. Сюда входят такие задачи, как очистка, преобразование и объединение данных из различных источников. Специалисты по данным должны уметь использовать для этих задач такие библиотеки, как Pandas и NumPy.
  2. Исследование данных. Сюда входят такие задачи, как выявление закономерностей, выбросов и аномалий в данных. Специалисты по данным должны уметь пользоваться такими библиотеками, как Matplotlib и Seaborn, для визуализации и исследования данных.
  3. Преобразование данных. Сюда входят такие задачи, как нормализация, кодирование категориальных переменных и масштабирование данных. Специалисты по данным должны уметь использовать библиотеки, такие как sklearn, для этих задач.
  4. Разработка функций: сюда входит создание новых функций из существующих данных, выбор наиболее подходящих функций и обработка отсутствующих данных.
  5. Визуализация данных. Специалисты по обработке и анализу данных должны уметь создавать различные типы визуализаций, например линейные диаграммы, гистограммы, диаграммы рассеивания, тепловые карты и т. д., используя такие библиотеки, как Matplotlib и Seaborn.
  6. Рассказывание историй о данных. Ученые, работающие с данными, должны быть в состоянии представить данные и выводы заинтересованным сторонам, не являющимся техническими специалистами, в ясной и убедительной форме.

4. Язык программирования SQL и база данных MySQL

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

Вот ключевые концепции SQL, которыми должен овладеть специалист по данным:

  1. оператор SELECT: используется для запроса и извлечения данных из таблицы базы данных.
  2. Предложение JOIN: используется для объединения строк из нескольких таблиц на основе связанного столбца между ними.
  3. Предложение GROUP BY: используется для группировки строк на основе одного или нескольких столбцов и выполнения агрегатных функций, таких как SUM, COUNT и AVG.
  4. Предложение WHERE: используется для фильтрации строк на основе определенного условия.
  5. SUBQUERY и INNER JOIN: используются для объединения данных из нескольких таблиц и фильтрации результатов.
  6. ИНДЕКСИРОВАНИЕ: используется для повышения производительности запросов путем создания индекса для одного или нескольких столбцов таблицы.
  7. Инструкции CREATE и ALTER: используются для создания и изменения структуры таблиц и других объектов базы данных.
  8. Инструкции INSERT, UPDATE и DELETE: используются для вставки, обновления и удаления данных в таблице.
  9. Расширенные концепции, такие как оконные функции, общие табличные выражения (CTE) и хранимые процедуры.

5. Машинное обучение с использованием научного набора

Машинное обучение, без сомнения, является неотъемлемой частью любых процессов обработки данных в различных отраслях. как только вы хорошо разберетесь в языке программирования python и его библиотеках, вам следует изучить практическое машинное обучение с помощью библиотеки обучения sci-kit.

Вот несколько ключевых концепций и навыков, которые помогут вам освоить машинное обучение с помощью scikit-learn:

  1. Обучение с учителем: такие концепции, как регрессия и классификация, а также такие алгоритмы, как линейная регрессия, логистическая регрессия и деревья решений.
  2. Неконтролируемое обучение: такие понятия, как кластеризация и уменьшение размерности, а также такие алгоритмы, как k-средние, иерархическая кластеризация и PCA.
  3. Оценка модели: методы, такие как наборы для обучения и тестирования, перекрестная проверка и такие показатели, как точность, точность, полнота и оценка F1.
  4. Настройка гиперпараметров. Такие методы, как поиск по сетке и случайный поиск, для оптимизации производительности модели машинного обучения.
  5. Выбор функций и разработка: методы выбора наиболее релевантных функций и создания новых функций на основе существующих данных.
  6. Конвейеры. Методы объединения нескольких этапов процесса машинного обучения, таких как подготовка данных, выбор функций и обучение модели, в единый оценщик scikit-learn.
  7. Методы ансамбля: такие концепции, как бэггинг и повышение, а также алгоритмы, такие как случайный лес и повышение градиента.
  8. Нейронные сети:понимание концепций и использования MLP и других архитектур нейронных сетей.

6. Глубокое обучение с помощью Keras

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

Вот некоторые ключевые методы глубокого обучения, которые специалисты по данным должны изучить с помощью Keras:

  1. Искусственные нейронные сети: такие концепции, как сети с прямой связью, обратное распространение и функции активации.
  2. Сверточные нейронные сети (CNN): используются для классификации изображений и задач распознавания объектов.
  3. Рекуррентные нейронные сети (RNN): используются для последовательных данных, таких как текст и временные ряды.
  4. Автоэнкодеры: используются для неконтролируемого изучения признаков и уменьшения размерности.
  5. Генеративные модели: такие как генеративно-состязательные сети (GAN) и вариационные автоэнкодеры (VAE).
  6. Перенос обучения. Методы использования предварительно обученных моделей, таких как VGG или ResNet, для повышения производительности при выполнении новой задачи.
  7. Настройка гиперпараметров: такие методы, как поиск по сетке и случайный поиск, для оптимизации производительности модели глубокого обучения.
  8. Tensorboard: для визуализации обучения и производительности модели глубокого обучения.

7. Методы и концепции обработки естественного языка (NLP)

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

Вот некоторые ключевые концепции и методы НЛП, которые следует изучить специалистам по обработке и анализу данных:

  1. Предварительная обработка текста. Такие методы, как токенизация, выделение корней и лемматизация, позволяют преобразовать необработанный текст в формат, который можно легко проанализировать.
  2. Извлечение текстовых признаков. Такие методы, как пакет слов, n-граммы и встраивание слов, для представления текста в виде числовых признаков для использования в моделях машинного обучения.
  3. Сортировка текста. Методы классификации текста по предопределенным категориям, такие как анализ тональности и обнаружение спама.
  4. Распознавание именованных объектов. Методы идентификации и извлечения именованных объектов из текста, например людей, организаций и местоположений.
  5. Тегирование частей речи. Методы определения частей речи слов в предложении, таких как существительные, глаголы и прилагательные.
  6. Генерация текста. Методы создания нового текста на основе заданных входных данных, например машинный перевод и суммирование текста.
  7. Текст в речь и речь в текст. Методы преобразования речи в текст и текста в речь.
  8. Расширенные концепции, такие как модели на основе внимания, трансформаторы и BERT.

8. Развертывание модели машинного обучения

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

  1. Обслуживание моделей. Методы обслуживания моделей машинного обучения в производственной среде, например использование REST API или выделенного сервера моделей.
  2. Контейнеризация. Методы упаковки моделей машинного обучения и зависимостей в контейнер, например Docker, для обеспечения согласованности и воспроизводимости развертываний.
  3. Облачное развертывание. Методы развертывания моделей машинного обучения на облачных платформах, таких как AWS SageMaker, Azure Machine Learning и Google Cloud ML Engine.

9. Портфолио проектов

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

Некоторые идеи проекта, над которыми вы можете поработать:

  1. Прогнозирование серьезности дорожно-транспортного происшествия
  2. Прогноз энергоемкости
  3. Предсказание дикой синей ягоды
  4. Прогноз выживания пациента
  5. Обнаружение киберзапугивания с использованием методов НЛП
  6. Проект предсказания следующего слова

10. Подготовка к собеседованию и заявление о приеме на работу

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

Вот несколько советов для собеседования по работе с данными:

  1. Поймите компанию и работу: изучите компанию и конкретную роль, на которую вы претендуете, чтобы понять их цели, ценности и тип работы, которую они выполняют.
  2. Освежите ключевые навыки: просмотрите и отработайте ключевые навыки, необходимые для работы, такие как языки программирования, статистический анализ и методы машинного обучения.
  3. Подготовьтесь к общим вопросам интервью: будьте готовы ответить на общие вопросы интервью по науке о данных, такие как «какой у вас опыт работы с X-методом» или «как бы вы решили эту проблему».
  4. Практикуйте вопросы, основанные на данных: будьте готовы ответить на вопросы, основанные на данных, и проблемы анализа данных, такие как «как бы вы проанализировали этот набор данных» или «каков ваш подход к построению модели».
  5. Уметь объяснить свою работу: уметь четко и лаконично объяснить свои прошлые проекты и методы, которые вы использовали.
  6. Покажите свою страсть: покажите свой энтузиазм в области науки о данных и свою готовность учиться и расти в этой области.
  7. Будьте готовы задавать вопросы: подготовьте список вдумчивых вопросов, чтобы задать интервьюеру о компании, роли и команде, с которой вы будете работать.

Свяжитесь со мной в Twitter и Github по любым вопросам, касающимся этой статьи👍