1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как стать data scientist

Как стать экспертом в Data Science: пошаговый план обучения

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

Выбор языка

Сейчас в науке о данных используются два основных языка: Python и R. Язык R применяется для сложных финансовых анализов и научных исследований, потому его глубокое изучение можно отложить на потом.

На начальном этапе можно остановиться на изучении основ:

  • нюансы работы RStudio;
  • библиотеки Rcmdr, rattle и Deducer;
  • типы данных контейнеров, векторы и первичные типы данных;
  • factors, структуры и матрицы.

Быстро разобраться в теории языка R поможет сайт Quick-R.

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

Что важно освоить в Python:

  • функции, классы, объекты;
  • структуры данных;
  • базовые алгоритмы и библиотеки;
  • качественную отладку и тестирование кода;
  • Jupyter Notebook;
  • Git.

Чтобы освоить базовые понятия Python, у вас уйдёт примерно 4-6 недель при условии, что вы будете тратить на изучение 2-3 часа в день.

Где можно освоить: в Skillfactory.

Библиотеки для Python

NumPy

NumPy — библиотека научных вычислений. От неё зависит почти каждый пакет Python для Data Science или Machine Learning: SciPy (Scientific Python), Matplotlib, Scikit-learn.

NumPy помогает выполнять математические и логические операции: например, в ней содержатся полезные функции для n-массивов и матриц. А ещё библиотека поддерживает многомерные массивы и высокоуровневые математические функции для работы с ними.

Зачем нужно знать математику? Почему компьютер не может сам всё посчитать?

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

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

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

Что важно освоить:

  • основу линейной алгебры: линейные комбинации, зависимость и независимость, векторные точки и векторное произведение, матричные преобразования, матричное умножение,
  • обратные функции;
  • массивы;
  • обработку математических выражений и статических данных;
    визуализации через Matplotlib, Seaborn или Plotly.

Где можно подтянуть знания по NumPy: официальная документация.

Где можно подтянуть знания по алгебре: Calculus (глава 11), курс по математике для Data Science.

Pandas

Pandas — библиотека с открытым исходным кодом, построенная на NumPy. Она позволяет выполнять быстрый анализ, очистку и подготовку данных. Такой своеобразный Excel для Python.
Библиотека хорошо умеет работать с данными из разных источников: листов Excel, файлов CSV, SQL, веб-страниц.

Что важно освоить:

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

Где можно подтянуть знания по Pandas: Pydata.

Базы данных и сбор информации

Если вы уже знакомы с Python, Pandas и NumPy, можете приступать к изучению работы с базами данных и парсингу информации.

Несмотря на то, что NoSQL и Hadoop уже пустили корни в науку о данных, важно уметь писать и выполнять сложные запросы на SQL.

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

  • добавлять, удалять и извлекать данные из баз данных;
  • выполнять аналитические функции и преобразовывать структуры баз данных;
  • PostgreSQL;
  • MySQL;
  • SQL Server.

Хорошо структурированный курс по работе с SQL можно пройти здесь: SkillFactory.

Парсинг информации

  • уметь использовать методы find и find_all в парсинге страниц с помощью Beautiful Soup;
  • понять, как работает перебор элементов и сохранение переменных в Python;
  • работать с get-запросами и взаимодействовать с API.

Алгоритмы

Быть программистом без знания алгоритмов страшно, а Data Scientist’ом — опасно. Так что если вы уже освоили Python, Pandas, NumPy, SQL и API, пора учиться применять эти технологии для исследований.

Скорость работы хорошего специалиста часто зависит от трёх факторов: от поставленного вопроса, объёма данных и выбранного алгоритма.

Потому на этом этапе важно понять алгоритмы и структуры данных Беллмана-Форда, Дейкстры, двоичного поиска (и двоичные деревья как инструмент), поиска в глубину и ширину.

Машинное обучение и нейронные сети

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

Реальные задачи чаще всего решаются с помощью серьёзных библиотек вроде TensorFlow и Keras.

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

Дополнительно закрепить знания о машинном обучении можно здесь: Машинное обучение от Эндрю Ына.

Заключение

Стать экспертом в Data Science непросто: приходится изучать множество инструментов и быть гибким, чтобы вовремя узнавать о трендах.

Хорошая стратегия — получить базу по Data Science на фундаментальном курсе, а новые инструменты и технологии изучать, решая практические задачи на работе.

Как стать data scientist

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

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

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

Шаг 1. Найдите в себе силы

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

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

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

Если вы к этому готовы, замечательно! Делайте следующий шаг.

Шаг 2. Разберитесь в концепциях

Насколько велики «большие» данные (big data), как и зачем их майнить (data maining), при чем здесь нейронные сети (neural network), и чему именно учатся машины (machine learning)?

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

Очень важно понимать, какие основные этапы обработки должны пройти данные, чтобы их можно было использовать:

    сбор, очистка и предварительная подготовка;

обнаружение закономерностей, прогнозирование;

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

Шаг 3. Постройте фундамент

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

Для работы вам точно потребуются знания в области статистического анализа, линейной алгебры, теории вероятностей, многомерного исчисления.

Начать вы можете отсюда:

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

Шаг 4. Научитесь пользоваться инструментами

Data scientist работает с огромным количеством данных. Большая часть из них не имеет четкой структуры и нуждается в обработке. Многие задачи требуют быстрого решения, иногда даже моментального. Все это обуславливает необходимость использования компьютеров для анализа.

Для успешной работы вам нужно овладеть рядом инструментов, которые помогают:

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

Ниже перечислены основные полезные навыки для каждого этапа.

Базы данных

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

Технологии Big Data

Для работы с большими данными используется Hadoop, позволяющий распределять вычисления на сотни узлов. Полезно будет ознакомиться с Hadoop-экосистемой, моделью MapReduce и сопутствующими технологиями вроде Apache Spark и Apache Flink.

Эти инструменты особенно важны, так как в финансовой сфере работа ведется со многими потоками данных.

UNIX

Иногда с неструктурированными данными удобнее всего работать через UNIX-консоль без зависимости от базы. Поэтому специалисту полезно знать некоторые команды.

Python

Самый популярный язык программирования для Data Science – это дружелюбный Python. На самом деле, он может использоваться на всех этапах обработки данных, так как имеет великолепные средства анализа и инструменты визуализации.

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

Другие технологии

Если вы решите сосредоточиться на первом этапе обработки данных, обратите внимание на такие прогрессивные направления, как распознавание объектов и обработка естественного языка.

Python/SAS/R

Язык программирования R – основной конкурент Python в области анализа данных. Он больше популярен в науке. Библиотеки обоих языков имеют богатейший набор методов для обработки данных.

SAS – еще одна альтернатива. Он чаще всего применяется в задачах прогнозирования.

Если не знаете, какой язык выбрать, взгляните сюда.

Машинное обучение

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

Чтобы стать профи в этом деле, разберитесь с python-библиотекой scikit-learn. Она имеет понятный интерфейс и позволяет тонко настраивать модели.

Для прогнозирования применяются алгоритмы нейронных сетей.

Читать еще:  Как влияет на зрителя игра актеров

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

Для визуализации создано множество удобных инструментов, с которыми вам следует познакомиться, например:

Владение этими инструментами даст вам преимущество при устройстве на работу.

Также широко применяется старый добрый Excel.

Шаг 5. Практикуйтесь

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

Вы можете самостоятельно придумывать себе задачи, пользуясь готовыми наборами данных, или отправиться на Kaggle и принять участие в соревновании.

Отличные датасеты можно найти здесь и здесь.

А вот замечательные примеры готовых работ:

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

Великолепной возможностью для развития являются стажировки в компаниях, на которых вы можете поработать с реальными задачами.

Шаг 6. Определитесь со сферой интересов

Теперь, после первого погружения в Data Science, окиньте взглядом всю эту сферу и определитесь, что вам действительно интересно.

Возможно, ваше призвание — машинное обучение и алгоритмическая торговля, или вы виртуозно отбираете ценную информацию из грязных данных. А может быть, ваша дорога ведет в business intelligence и анализ финансовых отчетов.

Это непростой выбор, и вам, возможно, придется сделать несколько попыток. А для начала просто ознакомьтесь с базовыми ролями Data Science и ее основными применениями в финансах.

Наука о данных по ролям

Есть две основополагающие технологии работы с данными:

    ETL (Extract/Transform/Load). Это технические специалисты: инженеры и архитекторы данных, администраторы баз данных. Сфера их ответственности — хранение, извлечение и преобразование информации. Они имеют дело прежде всего с формой.

DAD (Discover/Access/Distill). А это аналитики, для которых важнее содержание. Они ищут и обрабатывают данные разнообразными способами, выявляют взаимосвязи и делают прогнозы.

В отдельную группу можно выделить бизнес-аналитиков. Они в работе больше полагаются на абсолютно точную информацию прошлого: отчеты, ключевые показатели эффективности (KPI). Их задача — ретроспективный анализ исторических данных и бизнес-тенденций.

Наука о данных в финансах

В некоторых отраслях специалисты по Data Science особенно востребованы:

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

Посмотрите, как наука о данных применяется в Сбербанке.

Как работать в Data Science без ученой степени

Размышления и рекомендации от Data Scientist Джейсона Юнга

Введение

Привет, я хочу рассказать вам, как стать Data Scientist, не имея диплома (или просто бесплатно). По иронии судьбы, у меня есть диплом, и он даже имеет отношение к Data Science (Магистерская программа в Северо-Западном университете). Но до этого я работал бухгалтером в Deloitte. Странно, да? Я был далек от Data Science и всего технического. Мне приходилось много изучать онлайн самостоятельно после работы и даже во время магистратуры, чтобы догнать однокурсников, так как я пришел не из технической сферы. Как человек, прошедший через все это, могу с уверенностью сказать, что обучение в университете очень помогает, но совсем не обязательно. Мне кажется, раз я побывал по обе стороны — и диплом получил, и онлайн учился — я смогу дать вам особый взгляд. Получение магистерской степени в Data Science — хороший и быстрый способ попасть в эту сферу, но, к счастью, вовсе не единственный, особенно, если вы не хотите тратить $60–90 тысяч на обучение. Однако от вас потребуется строгая самодисциплина.

Если кто-то спросит меня, как попасть в Data Science, этот пост будет для них. Надеюсь, что мои советы будут актуальны и полезны; во время моего обучения мне очень помогали эти ресурсы. Прежде, чем мы углубимся в детали, давайте разберемся, что такое Data Science.

Чем занимается Data Scientist?

Пропустите этот пункт, если вы это уже знаете.

Ну, исходя из моего опыта работы Data Scientist в нескольких компаниях вроде GoDaddy, HERE, и GoGo, Data Scientist решает задачи с помощью машинного обучения в Big Data. Несколько примеров: предсказать вероятность отказа клиента от подписки, выявить ошибки в данных, вычислительный специальный анализ гигабайт и терабайт данных, кластеризация клиентов по смысловым группам, аналитика текста при определении тем в расшифровках чатов онлайн поддержки, расчет предполагаемых доходов, и так далее до бесконечности.

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

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

Что нужно, чтобы стать data scientist (без траты средств)

Бесплатные онлайн-ресурсы.

Тебя привлекает работа в Data Science? Замечательно. Мы живем в прекрасное время, когда все можно изучать бесплатно. Я пытался сосредоточиться на бесплатных или дешевых вариантах — кто не любит бесплатные штуки? Просто это требует усидчивости и упорства. Я разделю весь процесс на три этапа.

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

1 этап: детство

Чтобы быть хорошим Data Scientist, нужно разбираться в программировании, статистике и математике. Я советую посмотреть как минимум это:

  • Университетский курс введения в computer science (в моем случае это был С++).
  • Менее сложные университетские курсы по математике: такие как многовариантные исчисления, дифференциальные уравнения, линеарная алгебра. Это очень поможет вам понимать элементарные математические процессы в глубинном обучении, например, обратное распространение и матричные операции.
  • Университетский курс введения в статистику и вероятности поможет разобраться с R.
Читать еще:  Чему равно произведение вектора a на 0

Прелесть в том, что проходить их можно не только в университете. Чтобы прокачать эти скилы онлайн, я рекомендую:

  • Математика: Многовариантные исчисления, дифференциальные уравнения, линейная алгебра от Khan Academy.
  • Статистика: Статистика в R и введение в Data Science: Специализация по Data Science от Университета Джонса Хопкинса на Coursera.
  • Python: CodeAcademy.com для общего программирования в Python.

Примеры того, на что способны Data Science, можно посмотреть на Kaggle.com, где ребята изучают и соревнуются в Data Science-проектах. Кроме того, на DataCamp.com есть практические пособия по множеству тем в Data Science — и на R, и на Python.

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

2 этап: отрочество

Сейчас вы уже должны лучше разбираться в Data Science и статистических методах. На 2 этапе вам уже хочется пойти дальше и получше разобраться с машинным обучением. Я понял, что онлайн-ресурсы типа Coursera обычно не охватывают тему так же глубоко, как курсы университетского уровня. К счастью, Stanford’s AI Lab выкладывает много классных онлайн-курсов. Так что вы можете смотреть лекции мирового уровня, комментарии к ним и еще много материалов по теме абсолютно бесплатно. Поэтому советую по возможности смотреть курсы на Coursera и Стэндфордские лекции одновременно. Например, DeepLearning.ai на Coursera очень хорош для понимания практической стороны глубинного обучения, а курс Stanford’s CS231n Computer Vision
— рассматривает все гораздо глубже.

На этом этапе пройдите курсы:

  • Машинное обучение: Andrew Ng’s Machine Learning Course на Coursera. Я прошел этот курс, но не стал платить за сертификат, потому что домашняя работа не подразумевала использование Python или R. Но он все равно очень полезен для понимания основ машинного обучения.
  • Машинное обучение: Stanford CS229 Machine Learning Course. Это старые, но все еще очень актуальные лекции Эндрю Ына.
  • Текстовая аналитика: Прикладной анализ текстов с Python на Coursera. Я не проходил этот курс, но как Data Scientist вам очень желательно обладать навыками текстовой аналитики и обработки естественного языка (Natural Language Processing, NLP).
  • PySpark: Введение в PySpark от DataCamp. PySpark это Python-версия Spark фреймворка для распределенной обработки данных. Проще говоря, он позволяет вам использовать Python с Very Large Data Bases (VLDB). Я пользуюсь им как минимум раз в неделю.
  • Deep Learning: Курс DeepLearning.ai от Andrew Ng на Coursera. Я оплатил сертификат, потому что там очень хорошая домашка. Это не очень дорого, так что я бы рекомендовал заплатить.
  • Компьютерное зрение: Курс Стэндфорда CS231n: Сверточные нейронные сети для визуального распознавания.
  • Обработка естественного языка (NLP): Курс Стэндфорда CS224n: Глубокое Обучение в Обработке Естественного Языка.

Повторюсь, есть и другие ресурсы типа DataCamp, Udacity, edX, and fast.ai, на которых можно найти информацию по множеству тем.

3 этап: юность

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

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

Во-вторых, скорее всего вам будут задавать вопросы по SQL. Когда я только начинал работать в GoDaddy, я мало что знал о SQL. К собеседованию я немного полистал W3Schools.com, CodeAcademy и погуглил частые вопросы на собеседованиях по SQL. Зависит от компании но, знания по машинному обучению и программированию в любом случае ценятся больше, чем SQL. Этому довольно легко научиться на работе. Здесь Leetcode.com можно потренироваться в SQL и программировании.

Ну и наконец, к завершению этого этапа вы должны обладать необходимыми знаниями, чтобы разбираться в самых разных темах машинного обучения. На чем именно сосредоточиться — будь это RNN, CNN, NLP или что угодно еще — только ваше дело. Что касается меня, сейчас я пытаюсь разобраться в обучении с подкреплением (reinforcement learning).

Заключение

Это был мой первый пост на Medium и я очень надеюсь, что он был вам полезен. Я постарался сосредоточиться на курсах, которые можно пройти, а не на конкретных инструментах или Python/R библиотеках, которые нужно знать, потому что в этих курсах о них так или иначе расскажут.

Если вы хотите посмотреть примеры кодов в машинном обучении, зайдите на мой репозиторий Github, в который я регулярно выкладываю все новое, что узнаю. Я планирую и дальше выкладывать новости о проектах, над которыми работаю, и вообще рандомные мысли на Medium!

Источники:

http://tproger.ru/curriculum/data-science-expert-plan/
http://sfeducation.ru/blog/quants/kak_stat_datascientistom
http://datastart.ru/blog/read/kak-rabotat-v-data-science-bez-uchenoy-stepeni

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector