Электронная библиотека » Жаклин Нолис » » онлайн чтение - страница 8


  • Текст добавлен: 23 сентября 2021, 16:20


Автор книги: Жаклин Нолис


Жанр: Программирование, Компьютеры


Возрастные ограничения: +16

сообщить о неприемлемом содержимом

Текущая страница: 8 (всего у книги 38 страниц) [доступный отрывок для чтения: 11 страниц]

Шрифт:
- 100% +
Итоги

• Четыре проверенных способа получить навыки для работы в Data Science: академические программы, буткемпы, практика на текущей работе и самостоятельное обучение.

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

• Чтобы выбрать для себя подходящий способ, подумайте о своих сильных сторонах, готовых навыках и доступных ресурсах.

2 Здесь речь идет о стандартных программах магистратуры в вузах США. – Примеч. ред.

4. Создание портфолио

В этой главе

• Как создать интересный DS-проект.

• Как начать блог.

• Как провести проект от начала до конца.


Вы окончили буткемп, магистратуру, прошли онлайн-курсы или подготовили несколько проектов с данными на текущей работе. Поздравляем – вы готовы начать работу в Data Science! Так ведь?

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

Сильное портфолио состоит из двух основных частей: репозиториев GitHub (Git-репозитории) и блога. В Git-репозитории размещают код проекта, а в блоге можно похвастаться навыками коммуникации и остальной частью работы, не связанной с кодом. Большинство людей не захотят вникать в тысячи строк кода (ваш Git-репозиторий); им нужно получить быстрое объяснение того, что вы сделали и почему это важно (для этого нужен блог). И кто знает, возможно, дата-сайентисты со всего мира станут читать ваши статьи. Во второй части этой главы мы расскажем, что в блоге стоит писать не только о проведенном анализе или построенных моделях; можно объяснять статистические методы, написать учебное пособие по анализу текста или даже поделиться секретами карьерного роста (например, на тему, как вы выбрали программу обучения).

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

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

4.1. Создание проекта

DS-проект начинается с двух вещей: интересного набора данных и вопроса. К примеру, можно взять данные государственной переписи населения и спросить: «Как со временем меняются демографические данные по стране?» Сочетание вопроса и данных составляет ядро проекта (рис. 4.1). С этими двумя параметрами на руках можно приступать к анализу.


Рис. 4.1. Последовательность создания DS-проекта

4.1.1. Найдите данные и задайте вопрос

Размышляя над тем, какие данные использовать, самое важное – чтобы они были интересными. Почему вы хотите использовать именно их? Выбор данных – это способ проявить свою личность или знания в предметной области, которые вы получили в ходе предыдущей карьеры или учебы. Например, если вы увлекаетесь стилем, присмотритесь к статьям о «Неделе моды» и узнайте, какие изменения произошли за последние 20 лет. Если вы отлично бегаете, можно показать, как со временем менялись ваши результаты, и, возможно, проверить, зависит ли скорость от погоды.

А вот чего делать не следует, так это использовать данные о «Титанике», БД MNIST или любые другие популярные наборы. Дело не в том, что они чем-то плохи; вероятнее всего, вы не найдете ничего нового, что могло бы удивить и заинтриговать работодателей или дать им больше представления о вас.

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

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

• Kaggle.com – начинался как веб-сайт для соревнований в Data Science. Компании публикуют датасеты и вопрос, предлагая приз за лучший ответ. Вопросы связаны с моделями МО для прогнозирования: например, сможет ли человек выплатить кредит или за сколько будет продан дом. Так что пользователи могут сравнивать модели на основе их производительности на тестовой группе выборки и получить показатели производительности для каждой из этих моделей. У Kaggle также есть форумы и «ядра», где участники делятся своим кодом. В результате у Kaggle есть тысячи датасетов с сопутствующими вопросами и примерами того, как их анализировали другие люди.

• В самом большом преимуществе Kaggle кроется и его главный недостаток: предоставив вам (как правило, очищенный) датасет и задачу, он сделает бо́льшую часть работы за вас. Тысячи людей решают одно и то же, поэтому сложно предложить выдающееся решение. Один из способов использовать Kaggle – взять имеющийся датасет, но задать другой вопрос или провести эксплораторный факторный анализ. Но в целом мы думаем, что с Kaggle лучше всего учиться, когда вы решаете задачу, а затем смотрите, как это сделали остальные. Этот ресурс подойдет для того, чтобы понять, как работают чужие модели, а не для пополнения портфолио.

• Датасеты из новостей. В последнее время многие новостные компании начали публиковать свои данные. Например, FiveThirtyEight.com – сайт, посвященный анализу опросов общественного мнения, политике, экономике и спортивным блогам, – хранит данные, которые используются в статьях, и даже ссылается на сырые данные в своих публикациях. Хотя эти датасеты часто нужно чистить вручную, тот факт, что они появляются в новостях, означает, что к ним относятся очевидные вопросы.

• API-интерфейсы. API-интерфейсы (интерфейсы прикладного программирования) – это инструменты разработчика, которые позволяют получать доступ к данным напрямую от компаний. Вы знаете, как ввести URL-адрес и перейти на веб-сайт? API похожи на URL-адреса, но вместо веб-сайта вы получаете данные. Некоторые компании с полезными API-интерфейсами вроде The New York Times и Yelp позволяют вам получать их статьи и обзоры. У некоторых API даже есть пакеты R или Python, которые упрощают работу с ними. Например, rtweet для R позволяет быстро извлекать данные из Twitter, чтобы можно было найти, например, твиты с определенным хештегом, актуальные темы в Киото или любимые твиты Стивена Кинга. Учтите, что есть определенные ограничения и условия использования этих API. Например, Yelp ограничивает ежедневное количество вызовов до 5000, поэтому получить все просмотры не получится. API-интерфейсы отлично подходят для получения надежных, систематизированных данных из многих источников.

• Открытые государственные данные. Многие из них доступны в интернете. Можно найти информацию о переписи населения, занятости, опросах общественного мнения, а также множество данных местной администрации, например звонки в службы спасения Нью-Йорка или показатели дорожного движения. Иногда получается загрузить эти данные непосредственно в виде файла CSV; в других случаях понадобится API. На основании Закона о свободном доступе информации[3]3
  Freedom of Information Act, один из законов США. – Примеч. ред.


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

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

• Веб-скрейпинг. Скрейпинг – это способ извлекать данные с веб-сайтов, не имеющих API, в основном через автоматический просмотр страниц и копирование. Можно написать программу, которая будет искать киносайты по списку из 100 актеров, скачивать их профили и списки фильмов, в которых они снимаются, и помещать эти данные в таблицу. Однако следует учитывать, что скрейпинг может быть запрещен правилами пользования сайтом и вас могут забанить, поэтому проверьте файл robots.txt. Будьте осторожны с сайтами: слишком большое количество запросов за короткое время может их обрушить. В то же время соблюдение правил и увеличение промежутка между запросами может сделать скрейпинг эффективным инструментом для получения уникальных датасетов.

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

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

4.1.2. Выбор направления

Создание портфолио не должно отнимать много времени. Это именно та ситуация, где лучшее – враг хорошего. Сделать хоть что-то гораздо лучше, чем ничего. Первое и главное, что важно для работодателя, – убедиться, что вы умеете писать код и можете ответить на вопросы о данных. Возможно, вы переживаете, что люди посмеются над вашим кодом или скажут: «Хм, мы думали, что этот кандидат неплох, но гляньте на этот ужасный код!» Но такое вряд ли произойдет. Причина проста: ожидания работодателей зависят от опыта кандидата. Если вы начинающий специалист, от вас не ждут, что вы будете программировать как профессионал. Обычно в компании больше всего переживают, что вы вообще не умеете программировать.

Также неплохо поразмыслить над направлениями Data Science, которые мы рассмотрели в главе 1. Хотите специализироваться на визуализации? Сделайте интерактивный график с помощью D3. Хотите обрабатывать естественный язык? Используйте текстовые данные. Машинное обучение? Спрогнозируйте что-нибудь.

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

Распространенная проблема среди самостоятельно работающих специалистов – раздувание масштабов проекта. Такое происходит, когда дата-сайентист пытается сделать все сразу или продолжает добавлять все больше деталей по ходу проекта. Можно бесконечно улучшать/редактировать/дополнять его и так и не закончить работу. Вместо этого лучше думать, как в Голливуде, и создавать сиквелы. В проекте вы должны задать вопрос и ответить на него. А если вам кажется, что к нему еще надо будет вернуться, проект можно завершить вопросом или предложить тему для дальнейшего исследования (или даже написать «Продолжение следует…», если угодно).

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

4.1.3. Заполнение GitHub README

Возможно, вы уже работаете над собственными проектами в буткемпе или университете. Вы даже разместили свой код на GitHub. Этого достаточно?

Нет! Минимальное требование для полезного репозитория GitHub – заполнение файла README. Вам нужно ответить на несколько вопросов:

• Что это за проект? Какие данные в нем используются? На какой вопрос он отвечает? Что получилось: модель, система машинного обучения, информационная панель или отчет?

• Как организован репозиторий? Этот вопрос, конечно, подразумевает, что репозиторий действительно каким-то образом организован! Есть множество различных систем, но основная заключается в разделении вашего скрипта на части: получение (если необходимо) данных, их очистка, изучение и окончательный анализ. Таким образом, люди будут знать, как найти то, что им интересно. А для будущего работодателя это означает, что вы сможете хорошо организовывать информацию. Если при сдаче проекта вы отдадите сценарий на 5000 строк без единого комментария, никто не сможет его понять и использовать: компания не хочет так рисковать, нанимая кандидата. Умение управлять проектами также поможет вам в будущем: если вы захотите повторно использовать часть кода, то будете знать, где его искать.

Подготовить проект, сделать его общедоступным и задокументировать в репозитории GitHub – это хорошо, но по одному только коду очень сложно понять, что же в нем такого особенного. Когда вы приступаете к работе над проектом, вашим следующим шагом должен стать пост в блоге, где вы объясняете, почему то, что вы сделали, – круто и интересно. Никого не заинтересует pet_name_analysis.R, зато никто не пройдет мимо заголовка «Я использовал R, чтобы найти самые глупые клички питомцев!»

4.2. Создание блога

Благодаря блогу вы можете продемонстрировать свои проекты и размышления о них, кроме того, в блоге вы можете представить свою работу с нетехнической стороны. Знаем-знаем – вы только что научились всем этим замечательным техническим штукам и хотите похвастаться! Но работа в Data Science почти всегда влечет за собой передачу результатов непрофессиональной аудитории, а в блоге вы сможете попрактиковаться в переводе с технического на деловой язык.

4.2.1. Возможные темы

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

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

Попробуйте разглядеть в читателе себя полгода назад. Что вы узнали с тех пор? Каких ресурсов вам не хватало? Этот опыт также отлично подходит для отслеживания собственного прогресса. В Data Science нужно столько всего выучить, что вы можете решить, будто делаете недостаточно; всегда полезно взять паузу и оценить свои достижения.

Вы можете разбить посты в блоге на четыре категории:

• Туториалы, где много кода. Они обучают, как что-то делать, например скрейпить веб-сайты или работать с глубоким обучением на Python. Вашими читателями, как правило, будут другие начинающие или практикующие дата-сайентисты. И хотя мы говорим «с большим количеством кода», текста в статье может быть едва ли не больше. Код сам себя не объяснит, так что вам придется описывать, что делает каждая его часть, почему вы решили сделать именно так и какие результаты получили.

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

• Ваш необычный проект. Надеемся, в разделе 4.1 нам удалось убедить вас в том, что не стоит работать только над уникальным распознаванием медицинских изображений. Вы также можете проверить, в каких фильмах саги «Сумерки» использованы только слова из шекспировской «Бури». Например, Джулия Силдж использовала нейронные сети для генерации текста, который похож на произведения Джейн Остин. Посты в блоге могут описывать как процесс, так и результат в зависимости от того, какая часть проекта была наиболее интересной.

• Делитесь своим опытом. Не стоит публиковать в блоге только туториалы или заметки о DS-проектах. Можно поделиться своим опытом посещения встречи или конференции по Data Science: рассказать об интересных докладах, дать советы тем, кто собирается посетить их впервые, или поделиться некоторыми ресурсами от спикеров. Такие посты могут пригодиться людям, которые собираются посетить это мероприятие в следующем году либо не могут посещать конференции из-за нехватки денег или невозможности доехать. Опять же, этот тип публикаций позволяет потенциальным работодателям понять, как вы мыслите и общаетесь.

4.2.2. Выбор платформы

Но где же размещать статьи? У вас есть два основных варианта:

• Создание собственного сайта. Если вы работаете в R, мы предлагаем использовать пакет blogdown, который позволяет создать веб-сайт для блога с разметкой на R (круто, правда?). Если вы используете Python, то Hugo и Jekyll – это два варианта для создания статических веб-сайтов для блога. В них есть множество тем, созданных другими людьми, так что вы можете публиковать статьи с готовой разметкой. Не слишком заморачивайтесь насчет темы и стиля: просто выберите то, что вам понравится. Нет ничего хуже, чем перестать вести блог, увлекшись настройкой его оформления. Чем проще, тем лучше; постарайтесь выбрать тему, которая не надоест вам через полгода, ведь поменять ее может быть непросто.

• Использование Medium или другой платформы для ведения блогов. Medium – это бесплатная онлайн-платформа для публикаций. Сама компания обычно контент не создает, зато позволяет сотням тысяч авторов его размещать. Medium и подобные сайты – хороший вариант, если вам нужен быстрый старт, ведь с ним не придется беспокоиться о хостинге и создании веб-сайта: все, что от вас требуется, это нажать «New Post», написать и опубликовать статью. При этом вы даже можете получить больше трафика, когда люди будут искать на сайте такие термины, как Data Science или Python. Однако у этого варианта есть свой недостаток: вы зависите от платформы. Если, например, компания изменит бизнес-модель и сделает доступ к ресурсу платным, вы не сможете оставить свои публикации бесплатными. Вы также не сможете создать раздел с биографией или добавить другой непредусмотренный контент, например страницу со ссылками на ваши выступления.

Чаще всего люди хотят знать, какими должны быть объем и частота публикаций. Решайте сами. Мы видели, как авторы микроблогов публикуют короткие посты несколько раз в неделю. У других между публикациями проходят месяцы, но зато у них длинные статьи. Некоторые ограничения все же есть: вы ведь не хотите, чтобы ваши публикации напоминали роман Джеймса Джойса «Улисс»? Если ваш пост очень длинный, стоит разбить его на части. Ваша задача – показать, что вы умеете лаконично излагать информацию, поскольку это один из основных навыков в Data Science. Ни руководство компании, ни даже ваш непосредственный руководитель не хотят и, наверное, не должны слышать обо всех ваших неудачных попытках или двадцати испытанных подходах. Хотя неудачи и можно кратко описать, лучше поскорее перейти к сути и предложить окончательный способ решения. Из этого правила есть одно исключение: если ваш итоговый способ решения задачи удивит читателей. Если, например, вы не использовали самую популярную библиотеку, то можете объяснить, что сделали так, потому что оказалось, что она не работает.

Вас может беспокоить мысль, что никто не будет читать ваш блог и старания будут напрасны. Что ж, одна из главных причин вообще завести блог состоит в том, что он поможет вам при устройстве на работу. Вы сможете размещать в своем резюме ссылки на свои публикации при упоминании собственных DS-проектов и даже демонстрировать их на собеседованиях, особенно если там есть приятная интерактивная визуализация или информационные панели. Не обязательно иметь сотни или тысячи подписчиков. Да, было бы неплохо получить признание на Medium или быть упомянутым в информационном бюллетене компании, занимающейся Data Science, но гораздо важнее иметь аудиторию, которая будет читать, ценить и взаимодействовать с материалом.

Это не значит, что ничего нельзя сделать для увеличения количества читателей. Во-первых, вы должны рекламировать себя. Пусть это клише, но личный бренд помогает нетворкингу в долгосрочной перспективе. Даже если что-то кажется вам простым, это может быть неизвестно группе практикующих дата-сайентистов только потому, что область знаний очень велика. Ваши материалы могут читать даже сотрудники компаний, в которых вы хотите работать! Twitter – хорошее место для старта: вы можете поделиться новостью и использовать соответствующие хештеги, чтобы расширить круг читателей.

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


Страницы книги >> Предыдущая | 1 2 3 4 5 6 7 8 9 10 11 | Следующая
  • 0 Оценок: 0

Правообладателям!

Данное произведение размещено по согласованию с ООО "ЛитРес" (20% исходного текста). Если размещение книги нарушает чьи-либо права, то сообщите об этом.

Читателям!

Оплатили, но не знаете что делать дальше?


Популярные книги за неделю


Рекомендации