Имея докторскую степень в области машинного обучения и 18 лет прикладного опыта, целеустремленные специалисты по данным спрашивают меня, что они могут сделать для повышения квалификации. Поскольку я выступаю в качестве наставника / советника, технического директора и обладаю знаниями в области больших данных и машинного обучения, облачных вычислений AWS и обработки естественного языка (NLP), я хотел поделиться своими знаниями и идеями с более широкой аудиторией.

Первое, что я вижу, это то, что они будут сосредоточены только на курсах или учебных пособиях с проблемами игрушечных данных только с моделями ML / NLP / Deep Learning (DL), что является хорошим началом. Однако этого недостаточно, поскольку есть три важных области, которые вы обычно не найдете на курсах по науке о данных или в некоторых университетах. Причина может быть в том, что их труднее обучать и им нужен опыт работы в отрасли. Здесь я не говорю об учебных пособиях по науке о чистых данных или исследовательских проблемах, а о типичных реальных проблемах в области науки о данных в бизнесе, с которыми сталкивается большинство организаций.

Подготовка данных

Вы часто слышите, что наука о данных - самая интересная работа XXI века, но меньше слышите о том, что 80% времени специалиста по обработке данных тратится на подготовку данных - удобная и часто забытая сторона, поскольку она трудно продавать и рекламировать его, но это важная основа, которую необходимо сделать.

Что такое подготовка данных, ну, это может быть что угодно, от очистки, нормализации, объединения, заполнения недостающих данных, векторизации, поворота, маркировки и т. Д. Наборов данных. это важно, поскольку весь смысл использования машинного обучения вместо алгоритмов, основанных на правилах, заключается в том, что вы обучаете / тестируете его на основе данных. Без чистых данных даже самые продвинутые модели DL не будут работать.

Одна из проблем заключается в том, что наборы данных, как правило, уже чистые и с набором для обучения / тестирования, поэтому создается иллюзия, что вы можете просто применить свои модели ML / NLP / DL напрямую с минимальной подготовкой. В реальном мире данные очень грязные, их необходимо объединять, расширять или создавать составные объекты.

Что ты можешь сделать ?

Станьте экспертом в подготовке данных с помощью Pandas и pySpark, если вы хотите масштабировать. Зачем отдавать власть и зависимость кому-то другому?

Если вы также посмотрите, что делают аналитики данных, они очищают данные в инструментах Excel, SQL или ETL для создания аналитической панели мониторинга, это аналогичная задача, которую вы хотите выполнить, но в идеале в коде и в масштабе. Иногда вы можете, например, использовать методы на основе правил или НЛП для очистки имен, адресов или дат. Это нужно будет сделать, хотите ли вы составлять аналитические отчеты для клиентов или использовать набор для обучения / тестирования / проверки в моделях науки о данных.

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

Базовые знания

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

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

Вот почему без знания предметной области ваши модели, скорее всего, не будут точными или не будут иметь смысла. Как вы сможете проверить / измерить это? Вы действительно знаете, чего хотят ваши клиенты / пользователи? Иногда у них будут алгоритмы, основанные на правилах, которые могут работать лучше и быть гораздо более объяснимыми, что может служить базой для ваших действий в своих выводах.

Вы также увидите, что, если вы не исследовательская организация, главное, на чем вы сосредоточены в бизнесе, - это окупаемость инвестиций (ROI): на мой взгляд, это в основном для экономии времени, экономии денег или зарабатывания денег. Затем сопоставьте их с выводами, основанными на науке о данных, которые вы делаете. Я объясняю кое-что из этого и когда вам следует НЕ использовать ИИ, а использовать его, основываясь на моем опыте.

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

Что я могу сделать?

На мой взгляд, вы должны увлекаться областью / сферой, в которой вы работаете, это также поможет вам стать экспертом. Когда вы выбираете отраслевое погружение в предметные знания, это применимо к FinTech, IsureTech, AdTech, AgroTech, MedTech, PropTech, посмотрите на существующие модели данных, требования клиентов, терминологию и применение аналитики / науки о данных.

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

Способы приобретения навыков - это работа с экспертом в предметной области, чтение большого количества тематического контента и получение опыта работы с отраслевыми данными.

Программная инженерия

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

Отлично, вы можете выполнить образец кода scikit-learn и Keras локально на данных игрушек в блокноте Jupyter! Это полезно для понимания, исследовательского анализа данных и презентаций, но истинная рентабельность инвестиций - это когда вы перемещаете свои модели в конвейер, продукт или услугу, используемые непосредственно клиентами или пользователями. Например, предположим, что пользователь посещает ваш веб-сайт, вы в режиме реального времени будете давать рекомендации по наиболее релевантному контенту, что приведет к более высокому удержанию пользователей, более высокому рейтингу кликов или покупкам. Чтобы сделать это правильно, вам нужно написать, протестировать и развернуть свой код и модель, как это делают хорошие разработчики. Ваш код придется масштабировать.

Например, когда я возглавлял группу по науке о данных в JustGiving, у нас были модели, которые в реальном времени делали прогнозы для 26 миллионов пользователей, код был развернут как услуга на высокодоступной и масштабируемой архитектуре со сверхмалой задержкой.

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

Что я могу сделать?

Особенно, если вы не имеете опыта в области информатики, у вас будет ограниченный доступ к разработке или разработке программного обеспечения, если вы только непосредственно прошли курсы по науке о данных. Работайте с хорошими разработчиками и совершенствуйте свои навыки разработки, включая тестирование, шаблоны проектирования, Docker, облачные платформы, такие как AWS и CI / CD. Многие из основных навыков связаны с разработкой данных и машинного обучения - для меня это дефицитные люди, а НЕ специалист по данным. Я думаю, причина в том, что входной барьер будет трудным для кого-то, кто не является разработчиком или специалистом в области компьютерных наук. В любом случае, чем лучше ваш код, тем быстрее вы сможете подготовить данные или решить реальные варианты использования.

Резюме

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