Убийственное портфолио по науке о данных, благодаря которому вас нанимают
Если вы подаете заявку на работу в области науки о данных без портфолио проектов, чтобы продемонстрировать свои навыки, вы недооцениваете себя. В этой статье я расскажу о том, почему портфолио является обязательным для любого аналитика данных или специалиста по данным, и как создать потрясающее портфолио по науке о данных.
Нужно ли мне портфолио проектов по науке о данных?
Представьте, что вы нанимаете группу на свою свадьбу, не зная, какую музыку они играют! Это стратегия «мне повезет», которая может привести к неудачному старту.
Теперь визуализация с тремя полосами на выбор. Один из них включил портфолио SoundCloud, где у них есть превью своих песен, аккуратно организованных по жанрам в виде списков воспроизведения. Разве это не заставило бы вас сразу же послушать их музыку, поделиться ею со своим партнером и коллективно принять решение нанять их, а также предложить индивидуальные настройки?
То же самое происходит с рекрутерами и менеджерами по найму, которые просматривают ваше резюме. Они с большей вероятностью нажмут на ваше портфолио, изучат ваши проекты, прочитают публичные комментарии, увидят историю вашей активности и т. д.
Включая портфолио, вы резко увеличиваете шансы вашего клиента (HM или рекрутера) узнать больше о вас , ваших навыках работы с данными, вашей способности применять эти навыки и, надеюсь, о вашей искренней страсти к анализу данных. Итак, ДА , вам абсолютно необходимо портфолио.
Как создать потрясающее портфолио по науке о данных
Давайте посмотрим, как специалисты по данным, аналитики данных и другие энтузиасты данных могут создать потрясающее портфолио, которое обязательно вызовет волнение и интерес у потенциальных работодателей. Помимо трудоустройства, портфолио — отличный способ сохранить мотивацию к обучению и демонстрации — создайте свой собственный бренд!
Окончательное портфолио по науке о данных состоит из 4 компонентов , которые должны быть чрезвычайно надежными:
- Где разместить портфолио. Крайне важно убедиться, что вы размещаете свое портфолио на платформе, созданной для публичной демонстрации вашей работы, а также подчеркивая глубину и качество вашего кода. GitHub — безусловно, самый популярный выбор с обеих этих точек зрения. Для менеджера по найму также является обычной практикой запрашивать или активно изучать профиль GitHub кандидата на работу, чтобы понять уровень навыков кандидата.
- Организуйте проекты в содержательные коллекции: аккуратно организованное портфолио говорит миру, что у вас есть все необходимое для предоставления сложных и взаимосвязанных фрагментов информации в удобном для понимания формате.
- Выберите эффективные проекты , которые передают сообщение, которое вы хотели бы, чтобы менеджер по найму или рекрутер убрал, а именно: «вы хорошо начинаете с неопределенности » → «вы хорошо исследуете управляемым планом» → «вы хороши в основные методы машинного обучения» → «вы хорошо оцениваете влияние » → и «вы можете делать все это с выдающимся качеством кода »
Используйте GitHub для своего портфолио Data Science
Есть много причин, по которым GitHub является предпочтительной платформой для размещения кода, проектов и данных. GitHub бесплатен для использования и имеет платные опции с расширенными функциями, такими как CI/CD. Для личного использования, например, для размещения вашего портфолио по науке о данных, проектов машинного обучения и т. д., бесплатная версия — отличный выбор.
Помимо того, что его можно использовать бесплатно, есть три причины (из многих), почему GitHub идеально подходит для нашего варианта использования:
- Readme: файлы readme — настоящие жемчужины, если их использовать эффективно. Думайте о файлах readme как о введении, объяснении и выводах — подобно лабораторному отчету. Здесь вы рассказываете аудитории о проекте, решаемой проблеме, подходе, который вы используете и почему, предположениях, которые вы сделали, знаниях, которые вы собрали, применении этих идей в реальном мире и будущих улучшениях. вы хотели бы сделать. Слишком много деталей здесь заставит вас выглядеть незрелым. Слишком мало деталей заставит вас выглядеть неумелым. Таким образом, предоставьте правильное количество деталей, которые необходимы читателю, чтобы получить общее представление. Это важно, потому что именно этим занимаются специалисты по данным, когда они не занимаются моделированием, — объясняют бизнес-проблемы и описывают их решения .
- Возможность обнаружения: Портфолио должно быть общедоступным, т. е. любой пользователь сети может найти ваше портфолио и просмотреть проекты, над которыми вы работаете. GitHub имеет отличную видимость в поисковых системах — это означает, что любой, кто ищет похожие проекты, сможет найти ваш!
- Профиль: ваш профиль на GitHub — это то, чем вы хотели бы поделиться с другими. В вашем профиле будут репозитории, а также график вашего вклада. График вклада — это быстрый способ для менеджеров по найму и рекрутеров оценить, являются ли ваши навыки активными или пассивными.
- Предварительная версия Jupyter Notebook: большинство специалистов по данным используют Jupyter Notebooks для работы над проектами данных и публичного обмена ими. GitHub изначально отображает Jupyter Notebooks, позволяя читателям видеть ваш код, текст и диаграммы именно так, как вы их сохраняете. Это обеспечивает высокую читабельность.
Use a modern notebook platform
Rather than using Jupyter Notebooks locally, I would recommend using a modern notebook platform like Noteable. The interactive data explorer and visualizations will help speed up your projects and allow you to focus on your the strength of your models, insights, discussions and conclusions.
You can then export the project as a Jupyter Notebook and upload to GitHub. Needless to say, you should also make your Noteable project public.
Когда у вас есть учетная запись GitHub, возникает следующий вопрос: какие проекты демонстрировать. В зависимости от выбранной вами области и, возможно, вашей специальности, эти проекты могут сильно различаться.
Какие темы освещать в портфолио для специалистов по данным
Специалисты по данным должны продемонстрировать, что они владеют следующими тремя областями:
- Выявление бизнес-проблем: ваша способность взять общедоступный набор данных, прочитать о нем, а затем сформулировать несколько гипотез или несколько придуманных бизнес-проблем продемонстрирует вашу способность применять свои знания в реальных приложениях. Например, в этом общедоступном наборе данных электронной коммерции вы можете решить бизнес-задачу «Найти самые продаваемые продукты и определить, рекламировать их в социальных сетях или нет».
- Извлечение данных
. Запросы, очистка, агрегирование запутанных наборов данных с использованием SQL, Pandas (и любых других библиотек, которые вам нравятся). Я не могу не подчеркнуть, насколько важно продемонстрировать навыки работы с SQL . Маловероятно, что я, как менеджер по найму, найму специалиста по данным, отлично разбирающегося в Python, но не знающего SQL.
- Записывайте SQL в файлы Excel и CSV напрямую : писать SQL в Jupyter Notebooks очень сложно. Обычно вам нужно использовать библиотеку, а затем писать SQL в кавычках. Я рекомендую использовать современный блокнот, такой как noteable.io , который позволяет выполнять запросы непосредственно в файле Excel или CSV без необходимости использования какой-либо базы данных.. В конце концов, поскольку они не претендуют на роль архитектора базы данных, то практически нет смысла пытаться создать локальную базу данных.
- Подключение к базе данных: конечно, вы можете подключаться к базам данных в Noteable, но это может быть не так просто (или бесплатно) для вас, чтобы получить доступ к общедоступной базе данных. Если у вас есть доступ (Google: «общедоступные наборы данных BigQuery») к базе данных, вы сможете писать собственный SQL в Noteable. Не надо пакетов, котировок и прочей чепухи.
- Создайте локальную базу данных: в качестве альтернативы вы можете создать локальную базу данных на своем компьютере, но все это требует времени и вынуждает вас придумывать данные, которые вам нужно ввести в таблицы. В конце концов, ваша цель — продемонстрировать свои навыки работы с SQL, а не навыки администрирования базы данных SQL.Так что я считаю этот маршрут довольно большой тратой времени . - Исследование данных, визуализация
Для любого специалиста по работе с данными важно уметь писать качественный код для быстрой сегментации, фильтрации, исследования и визуализации данных. Большинство будет использовать Python или R. Поэтому, хотя современные платформы для ноутбуков, такие как Noteable, позволяют создавать диаграммы в интерактивном режиме, я все же рекомендую добавить пару действительно крутых визуализаций (см. r/dataisbeautiful для вдохновения), которые демонстрируют вашу способность использовать Pandas, lambda функции (необязательные, но отличные) и matplotlib/seaborn и т. д. - Машинное обучение
Однако большинство специалистов по данным, аналитиков данных, инженеров данных, инженеров бизнес-аналитики и инженеров по машинному обучению сочтут полезным включить в свои проекты некоторые из следующих методов:
● Деревья решений
● Кластеризация K-средних
● K-ближайших соседей ( KNN)
● Линейная регрессия
● Логистическая регрессия
● Наивный байесовский
анализ ● Анализ главных компонентов (PCA)
● Случайные леса
● Метод опорных векторов
Этот список включает в себя некоторые из самых популярных и широко используемых методов в профессиональном мире и, следовательно, является отличным источником вдохновения для ваших будущих проектов. Обладая глубоким знанием хотя бы нескольких из этих методов, вы значительно увеличиваете свои шансы произвести впечатление на менеджера по найму на следующем собеседовании. Я рекомендую вам подумать о типе работы, которую вы хотели бы получить, а затем поработать с некоторыми из приведенных выше алгоритмов, которые обычно применяются в выбранной вами области.
Когда дело доходит до выбора вашего следующего проекта, лучший совет, который я когда-либо слышал, — это сосредоточиться на реальной проблеме и попытаться решить ее. Конечно, большинство проблем в реальном мире заполнены неизвестными переменными и большими объемами данных.
Поэтому постарайтесь выбрать проблему, которая несколько ограничена либо по объему, либо по сложности, а может быть, даже и по тому, и по другому! Также имейте в виду, что вы должны быть страстно увлечены проектом, который вы выбрали .
Если вы совсем не вовлечены в процесс или результаты, то качество вашей работы, скорее всего, будет ниже среднего, и вы, скорее всего, перегорите и сдадитесь, не завершив ее. Поэтому найдите то, чем вы увлечены, даже если это уже было сделано раньше . Вы все равно извлечете ценные уроки, и у вас будет полный проект для использования в вашем портфолио!
Вдохновение для ваших следующих проектов
Это мои любимые источники для поиска идей для проектов или изучения новой темы. У обоих есть множество ресурсов, поэтому убедитесь, что вы не потеряетесь в ширине контента. Вместо этого выберите тему и сосредоточьтесь на той глубине, до которой вы можете дойти.
- https://goodboychan.github.io/categories/: это мой любимый репозиторий/блог. Он содержит умопомрачительное количество руководств и примеров, аккуратно организованных по темам.
- Kaggle : он остается золотой жилой наборов данных, а также общедоступных блокнотов, которые могут помочь вам изучить и улучшить качество кода.
Пример проекта
Например, одним из популярных методов является кластеризация K-средних, которая представляет собой чрезвычайно простой алгоритм машинного обучения, в котором вам нужно знать только несколько различных переменных и точек данных, чтобы получить интересные результаты.
Давайте представим, что вы работаете в крупной онлайн-компании, занимающейся электронной коммерцией, и эта компания собрала некоторую ключевую информацию от своих клиентов. Эти данные включают возраст клиентов, сумму, которую они тратят, и типы продуктов, которые они купили.
Затем кластеризация K-средних позволяет вам сегментировать каждую покупку и пользователя на кластеры, чтобы получить обзор различных типов покупателей. Все это, всего с 3 разными переменными.
Как подходить к проектам
Если вашей основной целью создания онлайн-портфолио ваших проектов по науке о данных является привлечение потенциальных работодателей, то вам следует подходить к каждому проекту с набором строгих правил, которые вы устанавливаете . Это спасет вас от расползания масштаба и потери времени.
Если вы новичок в мире науки о данных, то просто получение большего опыта будет самой большой наградой, которую вы можете получить. В конце концов, вы соревнуетесь с тысячами других разработчиков, инженеров и специалистов по обработке и анализу данных, поэтому вам нужно проявить себя как можно лучше. И практика делает совершенным.
Продолжайте работать над разными проектами, когда у вас будет время, и рано или поздно вы поймете, что сейчас вы на много уровней выше, чем были всего несколько месяцев назад.
Также важно помнить, что очень немногие интервьюеры на самом деле просматривают весь ваш код на GitHub, и еще меньше людей загружают и компилируют ваши скрипты. Важно то, что вы показываете, что знаете общие алгоритмы, умеете решать неоднозначные задачи и обладаете необходимыми для этого навыками программирования .
Конечно, вы также не должны просто загружать сломанные проекты. Важно, чтобы вы сами писали код, даже если вы следуете учебнику или онлайн-руководству. Таким образом, вы станете ближе к каждой строке кода, и ваше понимание будет намного лучше. С другой стороны, если вы просто скопируете/вставите другой проект и переименуете несколько переменных, я могу гарантировать, что вы провалите интервью.
Создание интереса к вашему профилю
Если вы усердно работали над проектом по науке о данных, которым вы гордитесь, вы можете подумать о том, чтобы привлечь внимание к себе и своему проекту. Не стоит ожидать, что множество людей узнают о вашем проекте, просто загрузив исходный код на GitHub.
Но это не значит, что ваш проект должен остаться незамеченным. Я рекомендую вам написать подробный пост в блоге на Medium.com или на вашем собственном веб-сайте, подробно описывающий особенности вашего проекта, и написать его таким образом, чтобы вас воспринимали как эксперта в этой теме.
И, конечно же, не забудьте включить в этот пост ссылки на свой профиль и проекты на GitHub.
Последние мысли
Вот оно. Я рассмотрел некоторые из наиболее важных вещей, о которых следует помнить при создании потрясающего портфолио в качестве специалиста по данным. Придерживаясь тем, которые вас интересуют и в которых используются некоторые из ведущих методов и алгоритмов в отрасли, вы можете настроить себя на успех в будущих собеседованиях при приеме на работу. Это действительно настолько просто!
— Написано с ❤️ под полночь ️
PS: я всего лишь скромный блоггер. Я делаю ошибки, и у меня есть белые пятна. Если вы заметили, что я могу улучшить, или если вы просто хотите поболтать, не стесняйтесь написать мне в Директ :)