Наука о данных, искусственный интеллект и машинное обучение — слова, которые мы слышим довольно часто в наши дни. «Ученый по данным — самая популярная профессия в 21 веке», но что это значит на самом деле? К сожалению, существует много неправильных представлений о том, что такое наука о данных. Многие люди даже используют слово «ученый данных» очень вольно. Не только на личном уровне, но также есть компании, которые часто используют слово наука о данных, не зная, что такое наука о данных на самом деле. Такое явление встречается не только в небольших стартапах или небольших компаниях, но и в крупных компаниях.

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

МОДЕЛИРОВАНИЕ - НЕ ЕДИНСТВЕННАЯ ЧАСТЬ РАБОТЫ

«Наука о данных — это создание лучшей модели машинного обучения».

Это предложение, вероятно, является одним из самых больших заблуждений о науке о данных. Хотя в какой-то степени это правда, люди всегда неправильно понимают, что означает «лучшая модель». Лучшая модель машинного обучения — это не всегда модель с самыми сложными или самыми продвинутыми алгоритмами. Таким образом, внезапное внедрение модели глубокого обучения в ваш проект, в котором на самом деле не нужно было использовать модель глубокого обучения (т. е. базовую регрессию и классификацию), не улучшит его, на самом деле в большинстве случаев он будет только ухудшаться. Лучшая модель машинного обучения будет варьироваться от проекта к проекту, универсального решения для всех не существует, и бывают случаи, когда необходимо глубокое обучение, но бывают и случаи, когда достаточно простых алгоритмов классификации.

Сначала подготовьте данные

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

  • Это данные временного ряда?
  • С каким типом полей мы имеем дело? Категориальные данные? Это числовые данные? Или наши данные содержат смесь числовых и категориальных данных?
  • Затем нам нужно будет понять представление ваших данных. Показывает ли это значение цену продукта или количество проданных продуктов?

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

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

Знать, как оценивать модель

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

Существует много метрик для оценки модели, так как же мы можем выбрать, какие метрики оценки будем использовать? Зная свои цели и выбирая метрики оценки, отражающие эти цели, вы сможете проводить более проверенные эксперименты с моделями машинного обучения. Во-первых, вы должны четко определить природу определения проблемы. Например, вы видите это как проблему классификации или регрессии? Если мы хотим создать модель для классификации, мы можем использовать точность. Однако, если у нас есть несбалансированный набор данных, мы не можем просто выбрать точность, потому что она не будет отражать реальную производительность нашей модели. Следовательно, мы можем вместо этого использовать точность и полноту, в зависимости от ваших бизнес-сценариев. Знание того, какие показатели оценки использовать, поможет нам создать лучшую модель.

Как мы видим, есть много вещей, которые нужно сделать, прежде чем мы создадим модель, и иногда эти вещи намного важнее, чем само моделирование.

НЕ ЗАБЫВАЙТЕ ООП (объектно-ориентированное программирование)

«Исследователям данных не нужен ООП, потому что они пишут на питоне»

Это заблуждение исходит из всех курсов по науке о данных, которые часто слишком сосредоточены на том, чтобы научить нас использовать только Jupyter Notebooks. А из-за природы Jupyter Notebooks и Python мы часто забываем реализовать какую-либо концепцию ООП.

Итак, где ученые данных создают свои модели?

  • Мы по-прежнему используем Jupyter Notebooks, но только для исследования данных и экспериментов.

Чтобы развернуть нашу модель в рабочей среде, нам нужно создать API, и мы не можем создать API из Jupyter Notebooks. Нам нужно поместить наш код для моделирования из Jupyter Notebooks в исполняемый скрипт на Python. Поскольку мы создаем API, нам нужно внедрить ООП, а также очистить код, чтобы его было легче поддерживать и отлаживать.

Итак, не забывайте свой ООП на Python, потому что он вам очень понадобится.

СОСРЕДОТОЧИТЬСЯ НА ОСНОВАХ

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

Сначала сосредоточьтесь на основах и освойте основы науки о данных. Не забывайте, как рассчитывать точность и полноту, создавать матрицы путаницы, создавать перекрестную проверку и понимать простые алгоритмы машинного обучения, такие как линейная регрессия, наивный байесовский анализ и т. д. Умение объяснить плюсы и минусы этих алгоритмов на заданном реальном -world use case показывает, что вы действительно понимаете эти алгоритмы технически и теоретически. Даже изобретательность, позволяющая связать использование этих алгоритмов с потенциальными проблемами информатики, будет высоко оценена специалистом по данным. Не только специалист по данным должен детально знать характер данных, но также модели и даже рассказывание историй, основанное на перекрестно проверенных экспериментах. Хорошее знание статистики и теории вероятностей будет минимальным требованием для того, чтобы войти в мир практической науки о данных. Будьте увлечены и чрезвычайно взволнованы при работе с данными, бросая вызов, когда вы сталкиваетесь с чрезвычайно сложными проблемами для решения. И не бойтесь задавать любые вопросы своим коллегам или руководителям. Как компетентный специалист по данным, не думайте, что ваш вопрос глупый (для вдохновения прочтите эту статью: https://towardsdatascience.com/why-you-should-ask-questions-as-a-data-scientist- 46fb9f2bf893). Будьте голодны в потреблении данных.

ЗАКЛЮЧЕНИЕ

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