Как стать data scientist
Содержание
- 1 Как стать data scientist
- 1.1 Как стать экспертом в Data Science: пошаговый план обучения
- 1.2 Выбор языка
- 1.3 Библиотеки для Python
- 1.4 Базы данных и сбор информации
- 1.5 Алгоритмы
- 1.6 Машинное обучение и нейронные сети
- 1.7 Заключение
- 1.8 Как стать data scientist
- 1.9 Как работать в Data Science без ученой степени
- 1.10 Введение
- 1.11 Чем занимается Data Scientist?
- 1.12 Что нужно, чтобы стать data scientist (без траты средств)
- 1.13 1 этап: детство
- 1.14 2 этап: отрочество
- 1.15 3 этап: юность
- 1.16 Заключение
Как стать экспертом в 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.
Прелесть в том, что проходить их можно не только в университете. Чтобы прокачать эти скилы онлайн, я рекомендую:
- Математика: Многовариантные исчисления, дифференциальные уравнения, линейная алгебра от 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