Профессию Data Scientist сегодня часто называют одной из самых перспективных и модных. Онлайн-курсы и университеты предлагают все больше программ обучения этой специальности, и новичкам не всегда понятно, с чего начать и как выбрать самый эффективный путь. Руководитель факультета Data Science онлайн-университета «Нетология» Елена Герасимова специально для «Цеха» составила подробный путеводитель по миру науки о данных. В материале вы найдете объяснения главных терминов, пошаговую инструкцию для тех, кто только входит в профессию, а также список полезной литературы по каждой теме.
О чем речь
Data Science — деятельность, связанная с анализом данных и поиском лучших решений на их основе. Раньше подобными задачами занимались специалисты по математике и статистике. Затем на помощь пришел искусственный интеллект, что позволило включить в методы анализа оптимизацию и информатику. Этот новый подход оказался намного эффективней.
Как строится процесс? Все начинается со сбора больших массивов структурированных и неструктурированных данных и их преобразования в удобный для восприятия формат. Дальше используется визуализация, работа со статистикой и аналитические методы — машинного и глубокого обучения, вероятностный анализ и прогнозные модели, нейронные сети и их применение для решения актуальных задач.
Пять главных терминов, которые нужно запомнить
Искусственный интеллект, машинное обучение, глубокое обучение и наука о данных — основные и самые популярные термины. Они близки, но не эквивалентны друг другу. На старте важно разобраться, чем они отличаются.
Искусственный интеллект (Artificial Intelligence) — область, посвященная созданию интеллектуальных систем, работающих и действующих как люди. Ее возникновение связано с появлением машин Алана Тьюринга в 1936 году. Несмотря на долгую историю развития, искусственный интеллект пока не способен полностью заменить человека в большинстве областей. А конкуренция ИИ с людьми в шахматах и шифрование данных — две стороны одной медали.
Машинное обучение (Machine learning) — создание инструмента для извлечения знаний из данных. Модели ML обучаются на данных самостоятельно или поэтапно: обучение с учителем на подготовленных человеком данных и без учителя — работа со стихийными, зашумленными данными.
Глубокое обучение (Deep learning) — создание многослойных нейронных сетей в областях, где требуется более продвинутый или быстрый анализ, и традиционное машинное обучение не справляется. «Глубина» обеспечивается некоторым количеством скрытых слоев нейронов в сети, которые проводят математические вычисления.
Большие данные (Big Data) — работа с большим объемом часто неструктурированных данных. Специфика сферы — это инструменты и системы, способные выдерживать высокие нагрузки.
Наука об анализе данных (Data Science) — в основе области лежит наделение смыслом массивов данных, визуализация, сбор идей и принятие решений на основе этих данных. Специалисты по анализу данных используют некоторые методы машинного обучения и Big Data: облачные вычисления, инструменты для создания виртуальной среды разработки и многое другое.
Где применяется Data Science
• обнаружение аномалий, например, ненормальное поведение клиента, мошенничества;
• персонализированный маркетинг — электронные рассылки, ретаргетинг, системы рекомендаций;
• количественные прогнозы — показатели эффективности, качество рекламных кампаний и других мероприятий;
• скоринговые системы — обработка больших объемов данных, помощь в принятии решений, например, о предоставлении кредита;
• базовое взаимодействие с клиентом — стандартные ответы в чатах, голосовые помощники, сортировка писем по папкам.
Пять основных этапов в работе с данными
• Сбор. Поиск каналов, где можно собирать данные, и выбор методов их получения.
• Проверка. Валидация, нивелирование аномалий, которые не влияют на результат и мешают дальнейшему анализу.
• Анализ. Изучение данных, подтверждение предположений.
• Визуализация. Представление информации в понятном для восприятия виде: графики, диаграммы.
• Реакция. Принятие решений на основе данных. Например, изменение маркетинговой стратегии, увеличение бюджета компании.
Образование. Шесть шагов на пути к Data Scientist
Путь к этой профессии труден: невозможно овладеть всеми инструментами за месяц или даже год. Придется постоянно учиться, делать маленькие шаги каждый день, ошибаться и пытаться вновь.
Шаг 1. Статистика, математика, линейная алгебра
Для серьезного понимания Data Science понадобится фундаментальный курс по теории вероятностей (математический анализ как необходимый инструмент в теории вероятностей), линейной алгебре и математической статистике.
Фундаментальные математические знания важны, чтобы анализировать результаты применения алгоритмов обработки данных. Сильные инженеры в машинном обучении без такого образования есть, но это скорее исключение.
Что почитать:
«Элементы статистического обучения», Тревор Хасти, Роберт Тибширани и Джером Фридман — если после учебы в университете осталось много пробелов. Классические разделы машинного обучения представлены в терминах математической статистики со строгими математическими вычислениями.
«Глубокое обучение», Ян Гудфеллоу. Лучшая книга о математических принципах, лежащих в основе нейронных сетей.
«Нейронные сети и глубокое обучение», Майкл Нильсен. Для знакомства с основными принципами.
Полное руководство по математике и статистике для Data Science. Крутое и нескучное пошаговое руководство, которое поможет сориентироваться в математике и статистике.
Введение в статистику для Data Science поможет понять центральную предельную теорему. Оно охватывает генеральные совокупности, выборки и их распределение, содержит полезные видеоматериалы.
Полное руководство для начинающих по линейной алгебре для специалистов по анализу данных. Всё, что необходимо знать о линейной алгебре.
Линейная алгебра для Data Scientists. Интересная статья, знакомящая с основами линейной алгебры.
Шаг 2. Программирование
Большим преимуществом будет знакомство с основами программирования. Вы можете немного упростить себе задачу: начните изучать один язык и сосредоточьтесь на всех нюансах его синтаксиса.
При выборе языка обратите внимание на Python. Во-первых, он идеален для новичков, его синтаксис относительно прост. Во-вторых, Python многофункционален и востребован на рынке труда.
Что почитать:
«Автоматизация рутинных задач с помощью Python: практическое руководство для начинающих». Практическое руководство для тех, кто учится с нуля. Достаточно прочесть главу «Манипулирование строками» и выполнить практические задания из нее.
Codecademy — здесь вы научитесь хорошему общему синтаксису.
Легкий способ выучить Python 3 — блестящий мануал, в котором объясняются основы.
Dataquest поможет освоить синтаксис.
The Python Tutorial — официальная документация.
После того, как изучите основы Python, познакомьтесь с основными библиотеками:
- Numpy : документация — руководство
- Scipy : документация — руководство
- Pandas : документация — руководство
Визуализация:
- Matplotlib : документация — руководство
- Seaborn : документация — руководство
Машинное обучение и глубокое обучение:
- SciKit-Learn: документация — руководство
- TensorFlow : документация — руководство
- Theano : документация — руководство
- Keras: документация — руководство
Обработка естественного языка:
- NLTK — документация — руководство
Web scraping (Работа с web):
- BeautifulSoup 4 — документация — руководство
Шаг 3. Машинное обучение
Компьютеры обучаются действовать самостоятельно, нам больше не нужно писать подробные инструкции для выполнения определенных задач. Поэтому машинное обучение имеет большое значение для практически любой области, но прежде всего будет хорошо работать там, где есть Data Science.
Первый шаг в изучении машинного обучения — знакомство с тремя его основными формами.
1) Обучение с учителем — наиболее развитая форма машинного обучения. Идея в том, чтобы на основе исторических данных, для которых нам известны «правильные» значения (целевые метки), построить функцию, предсказывающую целевые метки для новых данных. Исторические данные промаркированы. Маркировка (отнесение к какому-либо классу) означает, что у вас есть особое выходное значение для каждой строки данных. В этом и заключается суть алгоритма.
2) Обучение без учителя. У нас нет промаркированных переменных, а есть много необработанных данных. Это позволяет идентифицировать то, что называется закономерностями в исторических входных данных, а также сделать интересные выводы из общей перспективы. Итак, выходные данные здесь отсутствуют, есть только шаблон, видимый в неконтролируемом наборе входных данных. Прелесть обучения без учителя в том, что оно поддается многочисленным комбинациям шаблонов, поэтому такие алгоритмы сложнее.
3) Обучение с подкреплением применяется, когда у вас есть алгоритм с примерами, в которых отсутствует маркировка, как при неконтролируемом обучении. Однако вы можете дополнить пример положительными или отрицательными откликами в соответствии с решениями, предлагаемыми алгоритмом. Обучение с подкреплением связано с приложениями, для которых алгоритм должен принимать решения, имеющие последствия. Это похоже на обучение методом проб и ошибок. Интересный пример обучения с подкреплением — когда компьютеры учатся самостоятельно играть в видеоигры.
Что почитать:
Контролируемые и неконтролируемые алгоритмы в машинном обучении. Доходчивые и лаконичные объяснения типов алгоритмов машинного обучения.
Визуализация в машинном обучении. Отличная визуализация, которая поможет понять, как используется машинное обучение.
Шаг 4. Data Mining (Анализ данных) и визуализация данных
Data Mining — важный исследовательский процесс. Он включает анализ скрытых моделей данных в соответствии с различными вариантами перевода в полезную информацию, которая собирается и формируется в хранилищах данных для облегчения принятия деловых решений, призванных сократить расходы и увеличить доход.
Что почитать и посмотреть:
Как работает анализ данных. Отличное видео с доходчивым объяснением анализа данных.
«Работа уборщика данных» — главное препятствие для анализа» — интересная статья, в которой подробно рассматривается важность анализа данных в области Data Science.
Шаг 5. Практический опыт
Заниматься исключительно теорией не очень интересно, важно попробовать свои силы на практике. Вот несколько хороших вариантов для этого.
Используйте Kaggle. Здесь проходят соревнования по анализу данных. Существует большое количество открытых массивов данных, которые можно анализировать и публиковать свои результаты. Кроме того, вы можете смотреть скрипты, опубликованные другими участниками и учиться на успешном опыте.
Шаг 6. Подтверждение квалификации
После того, как вы изучите все, что необходимо для анализа данных, и попробуете свои силы в открытых соревнованиях, начинайте искать работу. Преимуществом станет независимое подтверждение вашей квалификации.
Например:
- расширенный профиль на Kaggle, где есть система рангов. Вы можете пройти путь от новичка до гроссмейстера. За успешное участие в конкурсах, публикацию скриптов и обсуждения вы получаете баллы, которые увеличивают ваш рейтинг. Кроме того, на сайте отмечено, в каких соревнованиях вы участвовали и каковы ваши результаты.
- программы анализа данных можно публиковать на GitHub или других открытых репозиториях, тогда все желающие могут ознакомиться с ними. В том числе и работодатель, который проводит с вами собеседование.
Последний совет: не будьте копией копий, найдите свой путь. Любой может стать Data Scientist. В том числе самостоятельно. В свободном доступе есть все необходимое: онлайн-курсы, книги, соревнования для практики. Но не стоит приходить в сферу только из-за моды. Что мы слышим о Data Science: это круто, это самая привлекательная работа XXI века. Если это основной стимул для вас, его вряд ли хватит надолго. Чтобы добиться успеха, важно получать удовольствие от процесса.