ВВЕДЕНИЕ

Отправляясь в захватывающее путешествие по бесчисленным онлайн-курсам, преодолевая проблемы Kaggle с ценами на жилье на Титанике и в Бостоне и, наконец, вырвавшись из тисков «туториального ада» — мы все были там. Но что лежит дальше? Предстоящий путь может сбить вас с толку, заставив вас задаться вопросом: «Каков следующий шаг?» Я отчетливо помню тот момент, когда более 5 лет назад задавался тем же вопросом.

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

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

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

СТРУКТУРИРОВАНИЕ ПРОЕКТА

Введение

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

Я рекомендую выполнить 4–5 комплексных проектов, которые охватывают весь жизненный цикл проекта, от определения бизнес-цели и масштаба проекта до предоставления доступного пользователю приложения или продукта. Эти проекты должны охватывать ряд областей, таких как здравоохранение, финансы, электронная коммерция, социальные сети, блокчейн, образование и т. д., а также решать различные задачи машинного обучения, такие как регрессия, классификация. , временные ряды, НЛП и компьютерное зрение, в зависимости от индивидуальных интересов.

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

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

Здравоохранение (классификация). Создайте классификатор для выявления и пометки вводящей в заблуждение или ложной информации о здоровье в онлайн-статьях и публикациях в социальных сетях.

Финансы (регрессия): предскажите будущие цены на акции конкретной компании на основе исторических рыночных данных и финансовых показателей.

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

Социальные сети (NLP — GPT): создайте чат-бота на основе языковой модели на основе GPT, который участвует в диалоговом взаимодействии с пользователями социальных сетей, предоставляя персональные рекомендации.

Блокчейн (компьютерное зрение). Создайте систему распознавания изображений, которая проверяет и аутентифицирует цифровые подписи в документах на основе блокчейна.

Образование (классификация). Разработайте модель для классификации экзаменационных работ учащихся как зачетных или неудовлетворительных на основе предоставленных ответов.

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

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

Жизненный цикл проекта машинного обучения

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

Бизнес-цель

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

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

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

После определения бизнес-цели следующим шагом будет определение того, как можно использовать машинное обучение (ML) для решения проблемы. Важно отметить, что не все бизнес-проблемы обязательно требуют решений ML, несмотря на предположения, сделанные владельцами бизнеса. Однако, поскольку мы сосредоточены на решениях на основе ML для наших проектов, мы подходим к каждой проблеме, исходя из предположения, что ML может предложить жизнеспособное решение.

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

Данные

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

Извлечение данных

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

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

Базы данных

После того, как данные получены, их необходимо сохранить в подходящем репозитории. Наиболее распространенным вариантом хранения данных в проектах машинного обучения являются базы данных, которые могут быть реляционными (например, PostgreSQL или MySQL) или нереляционными (например, MongoDB). Выбор базы данных зависит от конкретных требований вашего проекта и характера полученных вами данных.

Например, вы можете выбрать PostgreSQL для хранения данных и управления ими для одного проекта и использовать MongoDB для другого проекта. Такой подход позволяет вам продемонстрировать свое мастерство в обработке различных типов данных и работе с различными системами управления базами данных, будь то SQL или NoSQL. Демонстрируя свою универсальность в хранении данных и управлении ими, вы подчеркиваете свою способность адаптироваться к различным потребностям проекта и эффективно обрабатывать разнообразные наборы данных.

Очистка и обработка данных

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

Для эффективной очистки и обработки данных доступен ряд мощных библиотек и инструментов, включая популярные варианты, такие как pandas, Spark (для больших данных) и sci-kit-learn. Стратегически используя эти инструменты для каждого проекта, вы можете продемонстрировать свою универсальность и мастерство в применении различных технологий для очистки и обработки данных. Использование pandas, Spark, sci-kit-learn и т. д. демонстрирует ваше умение работать с данными различных типов и масштабов, тем самым подчеркивая вашу адаптивность и опыт использования передовых инструментов для создания надежных конвейеров данных.

Ключевые выводы

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

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

Охватывая различные методологии и используя разнообразный набор инструментов, таких как API, веб-скрапинг, Postgresql, Mongo Db, pandas и spark, в своих проектах, вы не только расширяете свой набор навыков, но и демонстрируете свою универсальность в решении различных проблем с данными. . Эта адаптивность и широта знаний делают вас ценным активом на рынке труда, поскольку вы можете уверенно подходить к различным проектам с помощью правильных инструментов и методов, обеспечивая успех в различных средах, управляемых данными.

Заключение

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

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

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