Перейти к содержимому

Data science или python разработчик что выбрать

  • автор:

Работа в Data Science: что важно знать и как этому научиться

Сегодня словосочетания вроде Data Science, Machine Learning, Artificial Intelligence очень популярны. При этом нередко под ними понимаются довольно разные вещи. Это зачастую смущает и запутывает людей, желающих войти в специальность: трудно разобраться, с чего начать, что действительно нужно, а что необязательно для начала. Не претендуя на общность, расскажем, как это видится на основе десятка лет опыта c решением такого рода задач для крупных клиентов со всего мира (сервис / заказная разработка / аутсорс – подставьте термин по вкусу).

Источник: https://timoelliott.com/blog/quick-somebody-find-me-a-data-scientist-jpg

Data scientist – кто такой, что умеет?

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

  • Математика и машинное обучение
  • Soft skills: коммуникация, презентация, английский
  • Технические: программирование, базы данных, облачные технологии и т.п.

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

«А может, сразу к сеточкам?»

Обычно начинающие больше внимания уделяют машинному обучению и особенно нейронным сетям, что вполне объяснимо: эти области кажутся более «крутыми» и привлекательными. Ну и, конечно, делать что-то прикольное (например, отличать тех же котиков от собачек, хоть бы и по шаблону) намного веселее, чем разбираться с основами. Тем более, что доступность инструментов, решений и примеров создает впечатление, что задачи решаются достаточно легко, надо лишь найти подходящий образец. Такой подход (грубо говоря, copy-paste) вполне возможен и даже работает, пока не перестаёт. А вот чтобы понять, что сломалось и как чинить (не говоря уже о создании чего-то нового), требуется фундаментальное понимание идей и механизмов, основанное на математической базе.

Матан и его друзья

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

  • Начала анализа: пределы, дифференцирование, интегрирование (без фанатизма)
  • Линейная алгебра: операции над матрицами, ранг, определитель, собственные вектора и значения, сингулярное разложение
  • Вероятность и статистика: случайные величины и их распределения, характеристики распределений, условная вероятность и формула Байеса, предельные теоремы, основные понятия статистики, оценка параметров и проверка статистических гипотез

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

«Что, еще и кодить?»

Ещё более недооценённым навыком для data scientist кажется программирование. Распространено мнение, что анализ данных и построение моделей сводятся к библиотечным вызовам, для которых особой квалификации не нужно. Наш опыт эту точку зрения не подтверждает: даже для достаточно типичных задач большая часть работы – это манипуляции с данными (зачастую весьма нетривиальные), что уж говорить о нестандартных проблемах.

Если переходить к конкретным языкам, это, конечно, в первую очередь Python. R в наши дни все же достаточно нишевый инструмент, MATLAB – тем более. Julia пока что не слишком популярная штука. Где-то можно встретить Java, C++ или Lua, но это, скорее, исключения.

«Python? Там же все понятно!»

Следует отметить, что Python при всей своей простоте всё же требует определенных знаний и навыков, чтобы писать хороший идиоматичный код и избегать подводных камней. Понимание алгоритмов и структур данных тем полезнее, чем более нестандартные задачи вы решаете. Ну и, разумеется, необходим собственно навык программирования (способность быстро преобразовать идею в грамотный код).

Из питоновских библиотек в обязательную программу входят numpy и pandas. Там тоже хватает нюансов для вдумчивого освоения (особенно если данных становится побольше, а трансформации – позатейливее).

Источник: https://xkcd.com/2054/

«И это еще не все?»

Само собой, важных технических областей намного больше. В некоторых проектах необходимо знание SQL (и вообще навык программирования в декларативной парадигме много где может пригодиться). Облачные вычисления давно уже норма, а не экзотика. Да и Big Data – это не просто модное словосочетание, а вполне востребованный комплекс технологий (если говорить о конкретных инструментах, это чаще всего Spark). Если есть время и желание, изучить все это будет полезно, но начинать работать можно и просто с устойчивым навыком программирования на Python (плюс numpy/pandas, конечно).

«Но теперь-то уже к сеточкам, правда?»

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

Источник: https://www.meme-arsenal.com/create/meme/6070052

Это отнюдь не значит, что глубокое обучение вредно для начинающих. Проблема в том, что часто люди начинают разбрасываться, перебирая модные архитектуры, при этом толком их не понимая (что естественно при нехватке фундаментальных знаний). Конечно, основательное и последовательное освоение предмета будет очень полезно, но на это, увы, мало у кого хватает времени и дисциплины.

«А вот я еще слышал про. »

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

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

Источник: https://timoelliott.com/blog/2016/02/cartoon-data-story-telling.html

«Мыши, станьте ежиками!»

Все и сразу?

Многих привлекает идея получить нужные знания и навыки «пакетом» записавшись на курсы по data science. Увы, не все из них одинаково полезны. Условно курсы можно разделить на три группы:

  1. Где компании зарабатывают на учащихся
  2. Где компании ищут себе сотрудников
  3. Общественные активности

Как правило, во втором случае обучение будет заметно серьезнее (хотя и отбор строже).

Иногда спрашивают и об университетских программах (благо, сейчас несложно найти варианты удаленного обучения как на русском, так и на английском). Безусловно, надо внимательно смотреть на каждый конкретный случай, но в целом это скорее имеет смысл, если по каким-то причинам важен именно диплом. В наше время бесплатно доступны материалы ведущих мировых университетов (уровня Stanford и MIT), так что если в приоритете собственно знания, можно как минимум не хуже подготовиться самостоятельно (конечно, при наличии достаточной мотивации и самодисциплины). Для многих работодателей «корочки» глубоко вторичны: если человек знает и умеет то, что нужно в работе, какая разница, что он заканчивал? Ну а если нет – тем более. Конечно, сертификат Stanford Graduate Program может вызывать уважение, но если вы действительно к такому готовы, непонятно, зачем вы досюда дочитали.

Также надо понимать, что практически никакой курс сам по себе не гарантирует вам реальной квалификации и успешного трудоустройства (доводилось встречать людей, которым и ШАД не впрок, и полученная в западноевропейском ВУЗе степень PhD не помогает).

Как есть слона

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

Кодил, кожу и буду кодить

Хрестоматийной книгой по Python считается Learning Python, хотя, конечно, с выхода последнего издания утекло много воды. Те, кто уже знаком с основами языка, могут предпочесть что-то вроде Clean Python. Если с программированием как таковым опыта немного, важно набить руку (например, на сайтах вроде https://www.hackerrank.com/, https://leetcode.com/, https://exercism.org/ и т.п.).

По numpy и pandas очень достойно выглядит книга «от создателей»: Python for Data Analysis. Потренироваться можно тут: https://github.com/guipsamora/pandas_exercises.

Если замахнетесь на алгоритмы и структуры данных, очень неплох курс Принстонского университета (правда, на Java, хотя освоение этого языка в достаточном для курса объеме не должно занять много времени): https://www.coursera.org/learn/algorithms-part1. Кому лучше заходят книжки, может прочитать первые пять глав из Grokking Algorithms. Есть материалы и для Питона: https://runestone.academy/runestone/books/published/pythonds/index.html. Однако в любом случае эта область кажется менее приоритетной (то есть, наличие знаний по теме будет полезно, но отсутствие вряд ли окажется решающим, если в остальном всё хорошо).

«Сколько выучить формул?»

Говоря о математической базе, стоит начать с линейной алгебры. Базовые представления можно получить тут: https://programmathically.com/linear-algebra-for-machine-learning/. Если захочется чуть углубиться, подойдут первые семь глав из книги No Bullshit Guide to Linear Algebra.

Источник: https://mathwithbaddrawings.com/2018/03/07/matrix-jokes/

Не менее важны основы анализа. Для начала хватит вот этого: https://programmathically.com/calculus-for-machine-learning/. Желающим разобраться, почему и как, можно порекомендовать книгу Calculus Made Easy.

Для знакомства с теорией вероятностей и математической статистикой достаточно будет следущих материалов: https://programmathically.com/probability-and-statistics-for-machine-learning-and-data-science/. Наглядно некоторые вопросы разобраны тут: https://seeing-theory.brown.edu/.

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

Источник: https://xkcd.com/552/

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

Ng or not Ng?

Вводных материалов по машинному обучению много. Для понимания базовых идей и подходов очень хорош стэнфордский Statistical Learning (тут можно найти и книгу, и видеокурс: https://www.statlearning.com/). Единственный существенный минус – практические задания на R (есть смысл делать их на Python – как раз хорошее упражнение получится). Какое-то время был очень популярен Эндрю Ын (Andrew Ng) со своим Machine Learning. Содержание актуально до сих пор, а в обновленной версии курса MATLAB / Octave заменили на Python. Также можно отметить очень подробное объяснение базовых вещей, что для условных гуманитариев несомненный плюс, а вот людям с математической подготовкой может показаться избыточным.

Переходя от идей и подходов к их актуальной реализации, полезно проработать книгу Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow. Для начала можно ограничиться первой частью, но упражнения пропускать не стоит.

Для закрепления навыков хорошо подойдет mlcourse.ai (в первую очередь именно как набор практических задач).

Если решите охватить и нейронные сети, можно начать с Deep Learning Specialization от того же Ына. Но, повторимся, лучше более основательно освоить классические методы.

Практика на Kaggle тоже будет полезна. Представляется разумным выбирать соревнования со структурированными данные не слишком большого объема, чтобы поменьше отвлекаться на технические сложности. Tabular Playground Series – отличный вариант для начала.

Хотя, безусловно, целый ряд важных в работе аспектов Kaggle не покрывает. Если интересно получить о них представление, можно почитать книги, освещающие вопросы бизнеса и коммуникации, например, Data Science for Business и Storytelling with Data. Однако для начального уровня это, скорее, факультативные вещи.

Источник: https://timoelliott.com/blog/2016/02/cartoon-data-story-telling.html

«А вдруг это не мое?»

В заключение хотелось бы отметить, что связанные с data science проекты подразумевают целый спектр ролей, а не просто условных data scientists. Так, например, востребованы data BA и data DM (бизнес-аналитики и менеджеры с глубоким пониманием специфики работы с данными и машинным обучением), data QA (тестирование различных аспектов обработки данных, включая и прогнозные модели), ML engineer («продукционализация» запрототипированных решений), MLOps (тут вообще можно встретить широкое разнообразие трактовок) и т.д. Так что если по ходу освоения предложенных материалов вам заметно более привлекательной покажется какая-то конкретная область, это не значит, что data science не для вас. Скорее, наоборот: есть неплохие шансы найти интересную вам нишу, особенно в крупных компаниях / проектах.

Источник: https://me.me/i/i-know-machine-learning-83cc8d4b173a47a3991085f3146cc360

Успехов вам в выборе целей и их достижении!

  • data science
  • machine learning
  • artificial intelligence
  • career
  • self-education

Языки программирования для Data Science и баз данных

Языки программирования для Data Science и баз данных

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

Языки программирования в Data Science

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

Python

Python для Data Science

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

Инструменты

25 месяцев
Data Scientist с нуля до PRO
Создавайте ML-модели и работайте с нейронными сетями
6 790 ₽/мес 11 317 ₽/мес

Group 1321314349 (2)

  • Scikit-learn — библиотека для классических алгоритмов машинного обучения,
  • TensorFlow и PyTorch — фреймворки для глубокого обучения.

Бизнес-аналитика

  • Matplotlib и Seaborn — библиотеки для визуализации статистических данных.

Персонализация

  • Scikit-Surprise — библиотека для построения рекомендательных систем.

Статистика

  • Statsmodels — используется для статистического моделирования и тестирования гипотез.
Базы данных

SQL

  • SQLAlchemy — обеспечивает ORM для взаимодействия с базой данных SQL,

ORM (Object-Relational Mapping) связывает базу с логикой ООП.

  • Pandas — позволяет выполнять SQL-подобные запросы к табличным данным.

NoSQL

  • PyMongo — библиотека для работы с MongoDB.
  • Cassandra-Driver — работает с Apache Cassandra.

R

язык R в Data Science

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

Инструменты

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

  • caret — фреймворк для унификации множества алгоритмов машинного обучения.
  • randomForest — алгоритм для построения деревьев принятия решений.

Бизнес-аналитика

  • dplyr и tidyr — пакеты для обработки и анализа данных.
  • ggplot2 — библиотека для создания информативных графиков.

Статистика

  • stats — встроенные статистические функции для анализа данных.
  • lm — пакет для линейной регрессии.
  • brms — поддержка интерфейса для байесовской статистики.
Базы данных

SQL

  • RODBC — интерфейс для подключения к базам с помощью ODBC.
  • RMySQL и RSQLite — пакеты для работы с MySQL и SQLite.

NoSQL

  • mongolite — библиотека для работы с MongoDB.

Читайте также 15 библиотек Python для Data Science

Java

Java для Data Science

У Java строго объектно-ориентированная структура и непростой синтаксис. Поэтому этот язык не так распространен для решения задач Data Science. Но у него есть неплохие библиотеки для работы с данными.

Инструменты

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

  • Weka — библиотека и фреймворк для машинного обучения.
  • Deeplearning4J — фреймворк с открытым исходным кодом для глубокого обучения.

Бизнес-аналитика

  • Apache Hadoop и Apache Spark — инструменты для обработки больших данных.

Статистика

  • Apache Commons Math — библиотека для математических и статистических вычислений.
  • Tablesaw — библиотека для фреймов данных и визуализации, поддерживает описательную статистику.
Интеграция с базами данных

SQL

  • JDBC (Java Database Connectivity) — стандартный способ взаимодействия с базами данных через SQL-запросы.
  • Hibernate — фреймворк для объектно-реляционного отображения, позволяющий работать с базами с помощью Java-объектов.

NoSQL

  • Spring Data — обеспечивает поддержку NoSQL баз данных в приложениях на Java.
  • HBase и Cassandra — пакеты интеграции с СУБД.

C++

C++ для Data Science

Благодаря высокой производительности и возможности оптимизации C++ подходит для вычислительных задач. Однако, по сравнению с более специализированными языками у C++ сложный синтаксис и мало библиотек для анализа данных.

Инструменты

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

  • MLPACK — библиотека машинного обучения, реализованная на C++.
Интеграция с базами данных

SQL

  • CppDB — библиотека для взаимодействия с базами данных с использованием SQL.

NoSQL

  • ArangoDB C++ Driver — драйвер для интеграции с ArangoDB.

Scala

Scala для Data Science

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

Инструменты

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

  • Apache Spark MLlib — фреймворк для разработки алгоритмов машинного обучения.
Интеграция с базами данных

SQL

  • ScalikeJDBC — библиотека для работы с базами.
  • Slick — библиотека доступа к базам данных со строго типизированными, легко компонуемыми API.

NoSQL

  • Casbah — драйвер для интеграции с MongoDB.

C#

C# для Data Science

Этот язык можно использовать в Data Science благодаря фреймворку ML.NET, предоставляющему инструменты для машинного обучения и обработки данных. C# интегрируется с базами данных через ADO.NET и Entity Framework для работы с SQL. Но он также не пользуется популярностью у специалистов Data Science из-за небольшого набора инструментов.

Инструменты

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

  • ML.NET — фреймворк от Microsoft для машинного обучения.

Анализ данных

  • LINQ to Objects — интегрированный языковой запрос для обработки данных в памяти.
Интеграция с базами данных

SQL

  • ADO.NET — основной механизм для работы с базами данных в C#.
  • Entity Framework — ORM-фреймворк, который поддерживает такие базы, как MySQL, PostgreSQL.

NoSQL

  • MongoDB.Driver (MongoDB) — драйвер для взаимодействия с MongoDB.
  • Couchbase.NET SDK — набор инструментов для работы с Couchbase.

Julia

Julia для Data Science

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

Инструменты

Машинное обучение и анализ данных

  • Flux.jl — библиотека для обучения нейронных сетей.
  • MLJ (Machine Learning in Julia) — фреймворк с алгоритмами и инструментами для обработки данных, обучения моделей и оценки их производительности.
Интеграция с базами данных

SQL и NoSQL

  • Julia Database Interfaces — поддержка всех популярных баз данных.

JavaScript

Javascript для Data Science

Для работы с машинным обучением у JavaScript есть такие инструменты, как TensorFlow.js и Brain.js. Однако возможности JavaScript в Data Science довольно ограниченны.

Инструменты

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

  • TensorFlow.js — фреймворк для машинного обучения в браузере.
  • Brain.js — библиотека машинного обучения для Node.js. Предоставляет API для создания нейронных сетей.

Анализ данных

  • Pandas-js — неофициальный порт библиотеки Pandas из Python на JavaScript.
Интеграция с базами данных

SQL

  • Sequelize — ORM для взаимодействия с базами данных. Поддерживает PostgreSQL, MySQL, SQLite.

NoSQL

  • Mongoose — обеспечивает доступ к MongoDB.

Matlab

Matlab для Data Science

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

Инструменты

Машинное обучение и статистика

  • MATLAB Statistics and Machine Learning Toolbox — предоставляет множество инструментов для машинного обучения, анализа данных и статистики.
Интеграция с базами данных

SQL и NoSQL

  • DataBase Toolbox — поддержка работы с реляционными и нереляционными базами данных.

Go (Golang)

Golang для Data Science

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

Станьте дата-сайентистом на курсе с МГУ и решайте амбициозные задачи с помощью нейросетей

Инструменты

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

  • Gorgonia — библиотека для глубокого обучения и численных вычислений, вдохновленная TensorFlow.
  • Golearn — набор инструментов для реализации машинного обучения.

Статистика

  • Gonum stat — пакет для базовой статистики и математики.
Интеграция с базами данных

SQL

  • database/sql — встроенный пакет для работы с базами данных SQL, предоставляющий общий интерфейс для взаимодействия с различными SQL-драйверами.

NoSQL

  • mgo (MongoDB driver) — драйвер для работы с MongoDB.

Perl

язык Perl для Data Science

Инструменты для работы с Data Science в Perl ограниченны, а сам он достаточно сложен по сравнению с современными языками.

Инструменты

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

  • AI::DecisionTree — модуль для построения деревьев решений.

Статистика

  • Statistics::Basic — предоставляет базовые статистические функции.
  • Statistics::Descriptive — модуль с описательными функциями статистики.
Интеграция с базами данных

SQL

  • DBI (Database Interface) — интерфейс для работы с различными базами данных, такими как MySQL или PostgreSQL.

Ruby

Ruby в Data Science

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

Инструменты

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

  • SciRuby — набор библиотек для обработки данных и машинного обучения.

Статистика

  • DescriptiveStatistics — базовые статистические функции.
Интеграция с базами данных

SQL

  • Active Record — ORM во фреймворке Ruby on Rails, который обеспечивает интеграцию с базами данных SQL.

NoSQL

  • Mongoid — библиотека для работы с MongoDB.

Что же выбрать?

Самыми популярными языками в Data Science являются Python и R. Оба языка активно развиваются и имеют объемную документацию. Но почему они так востребованы?

Python

— Имеет богатую экосистему из библиотек и фреймворков, таких как NumPy, Pandas, Scikit-learn, TensorFlow и PyTorch, что делает его мощным инструментом для машинного обучения и анализа данных.

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

— Удобен для использования во многих областях, включая веб-разработку, научные исследования и анализ данных.

R

— Его синтаксис был создан для статистического анализа.

— Идеален для академических исследований, так как содержит пакеты, поддерживающие моделирование сложных статистических моделей. Также может тестировать гипотезы.

— Визуализирует результаты анализа с помощью такого пакета, как ggplot2, создает качественные графики и отчеты.

— Есть поддержка машинного обучения и оценки моделей ML.

Что такое Data Science и кто такой Data Scientist

Что делает Data Scientist, сколько получает и как им стать, даже если вы не программист. Объясняем и делимся полезными ссылками.

Даниил Гапешин

Даниил Гапешин

Пишу научпоп, люблю делать сложное понятным. Рисую фантастику. Увлекаюсь спелеологией. Люблю StarCraft, шахматы, «Монополию».

Что такое Data Science?

Data Science — это работа с большими данными (англ. Big Data). Большие данные — это огромные объёмы неструктурированной информации: например, метеоданные за какой-то период, статистика запросов в поисковых системах, результаты спортивных состязаний, базы данных геномов микроорганизмов и многое другое. Ключевые слова здесь — «огромный объём» и «неструктурированность». Чтобы работать с такими данными, используют математическую статистику и методы машинного обучения.

Специалист, который делает такую работу, называется дата-сайентист (или Data Scientist). Он анализирует большие данные (Big Data), чтобы делать прогнозы. Какие именно прогнозы — зависит от того, какую задачу нужно решить. Итог работы дата-сайентиста — прогнозная модель. Если упростить, то это программный алгоритм, который находит оптимальное решение поставленной задачи.

Эти прогнозы и правда полезны?

Да. Очень многие сервисы, к которым мы уже привыкли, создали дата-сайентисты. И вы сталкиваетесь с результатами их работы каждый день. Например, это прогнозы погоды, чат-боты, голосовые помощники… А ещё — алгоритмы, рекомендующие музыку и видео под вкус конкретного пользователя. Список возможных друзей в социальных сетях — тоже результат Data Science. В основе поисковых систем и программ для распознавания лиц тоже лежат алгоритмы, написанные дата-сайентистами.

То есть Data Science — то же самое, что и обычная бизнес-аналитика?

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

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

Поясним на примере. Допустим, программа анализирует финансовые операции клиента и рекомендует выдать ему кредит или отказать. То есть задача программы — оценить платёжеспособность клиента. Создание такого програмного алгоритма — работа дата-сайентиста.

А бизнес-аналитик не занимается такими техническими задачами. Его не интересует работа с конкретным клиентом, но он может проанализировать всю статистику банка по кредитам, например, за последние три месяца — и рекомендовать банку сократить или увеличить объёмы кредитования. Это бизнес-задача: предлагаются действия, которые увеличат доходность банка либо снизят финансовые риски.

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

А где обычно работает Data Scientist?

Вот несколько вариантов:

  • В бизнесе — в любом его направлении. Например, дата-сайентист создаёт алгоритмы, прогнозирующие спрос на услуги компании. Другие алгоритмы помогут решить, нужно ли компании открывать новое направление бизнеса. Вариантов много.
  • В банках. Один из примеров мы разобрали в предыдущей карточке.
  • В транспортных компаниях. Например, программы помогают выстроить оптимальный маршрут.
  • В IT-сфере. Дата-сайентист разрабатывает ботов, поисковые алгоритмы, системы искусственного интеллекта.
  • На производстве. Например, программы прогнозируют сбои оборудования и дефекты продукции.
  • В страховых компаниях. Машинные алгоритмы оценивают вероятность страхового случая.
  • Медицина. Появляется всё больше приборов, автоматически ставящих диагноз на основании данных. Например, программа может указать повреждённые органы на рентгеновских снимках.
  • В сельском хозяйстве. Алгоритмы дают прогноз по урожаю, подбирают оптимальные системы землепользования.
  • Биоинформатика и современные генетические исследования немыслимы без Data Science. Программы строят генетические карты, определяют вид организма.
  • Физические исследования. Например, алгоритмы выявляют элементарные частицы и их следы.
  • Метеослужбы. Да, современные прогнозы погоды тоже готовятся с помощью Data Science.

И это далеко не полный список. Везде, где нужны прогнозы, совершаются сделки или оцениваются риски, пригодится Data Scientist. Вот несколько примеров рабочих моделей. Некоторые неожиданные: например, Corrupt Social Interactions модель, выявляющая коррупцию в Департаменте строительства (Department of Building) США. Или сервис А Roommate Recommendation он помогает подобрать соседа по комнате в кампусе или хостеле.

Понятно. А работу найти легко? Это точно востребовано?

Легко ли найти работу — зависит и от кандидата тоже. Но сама профессия весьма востребована. В 2016 году американская компания Glassdoor опубликовала рейтинг 25 лучших вакансий в США и профессия Data Scientist возглавила этот список. С тех пор востребованность стала даже выше.

Алгоритмы машинного обучения сейчас стремительно развиваются, прогнозы на их основе становятся точнее, а сфер их применения всё больше. Это значит, что у профессии Data Scientist большое будущее.

Но это за рубежом. А что в России?

У нас спрос на этих специалистов тоже постоянно растёт. Например, в 2018 году вакансий с названием Data Scientist было в 7 раз больше по сравнению с 2015 годом, а в 2019 году рост продолжился.

На середину апреля 2020 года на hh.ru — 323 вакансии с заголовком Data Scientist, из них 204 вакансии — в Москве, 39 — в Санкт-Петербурге и остальные — в других городах.

А сколько они зарабатывают?

Как и везде, это зависит от опыта работы и навыков дата-сайентиста, особенностей компании и сложности конкретного проекта. Но общий расклад примерно такой (данные приведены по состоянию на февраль 2020 года):

  • Зарплаты по вакансии Data Scientist на HH.ru начинаются от 70 тысяч рублей по России и от 100 тысяч рублей в Москве. Это деньги, на которые могут претендовать новички в отрасли. Чтобы было проще сориентироваться, средняя зарплата в Москве в начале 2020 года составляет около 86 тысяч рублей.
  • Основной диапазон зарплат по вакансиям дата-сайентиста — примерно от 100 до 160 тысяч рублей по России и от 150 до 200 тысяч рублей в Москве. На такие зарплаты могут претендовать специалисты с опытом.

Высококвалифицированные специалисты по Data Science могут получать в месяц 250 тысяч рублей и более.

Вы сказали, что Data Scientist создаёт программный алгоритм. А что конкретно он делает?

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

  • сначала он выясняет, что нужно заказчику (внутреннему или внешнему);
  • теперь надо оценить, можно ли решить эту задачу методами машинного обучения;
  • если да, то дата-сайентист готовит данные для анализа и ищет критерии оценки — чтобы понять, насколько эффективна модель, которую он создаёт;
  • затем программирует и тренирует модель машинного обучения;
  • после ему нужно оценить, насколько применение этой модели целесообразно экономически. Здесь ему могут помочь другие специалисты;
  • теперь полученная модель внедряется в производственный цикл или продукт;
  • когда модель уже введена в эксплуатацию, обязанность дата-сайентиста — вести её, то есть дорабатывать и изменять под текущие нужды.

Что нужно знать и уметь, чтобы работать в Data Science?

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

И умение работать в команде тоже никто не отменял: дата-сайентисту приходится общаться с разными специалистами.

Если у меня нет технического образования, то о работе в Data Science лучше не мечтать?

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

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

А с чего лучше начать?

Начать лучше с математики. Очень сложная математика не понадобится, но вы должны свободно ориентироваться в таких понятиях, как производная, дифференциал, определитель матрицы, и в том, что с ними связано. Освоить это вам помогут книги и лекционные курсы. Например, книга «Математический анализ» Липмана Берса, написанная довольно простым языком.

А что дальше? Там было что-то о статистике?

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

  • Курс «Основы статистики» подойдёт тем, кто знакомится с ней с нуля.
  • «Математическая статистика» — курс для более продвинутых, там много практических заданий.
  • «Статистические методы в гуманитарных исследованиях» — здесь, помимо самой статистики, вы научитесь работать с программами и пакетами, нужными для анализа данных.

Кажется, с математической частью закончили. Что по программированию?

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

По Python есть много курсов, как платных, так и бесплатных. Вот один из бесплатных курсов. И ещё один: «Питонтьютор».

У Skillbox тоже есть курс, он называется «Профессия Python-разработчик». Курс платный, длится год, и за это время студенты фактически осваивают с нуля новую профессию (как теорию, так и практику) и собирают личное портфолио — с помощью наставника. Поэтому по окончании курса им уже есть что показать потенциальному работодателю.

Что учить после Python?

Теперь можно изучать алгоритмы машинного обучения. Когда освоитесь с ними, уже сможете работать в Data Science.

Вот несколько бесплатных онлайн курсов по машинному обучению (много курсов на английском, но кое-что есть и на русском).

  • Курс МФТИ «Машинное обучение и анализ данных». Там можно освоить современные инструменты для анализа больших данных и научиться проводить сам анализ — от сбора данных до представления результатов. Курс на русском языке.
  • Курс машинного обучения от Google помимо объяснений содержит около 40 практических упражнений. Также на английском языке.
  • Запись цикла лекций профессора факультета машинного обучения из университета Карнеги — Меллона. Бесплатный курс, рассчитан на людей с хорошей базой в программировании и математике. На английском языке, но можно поставить русские субтитры.
  • Продвинутый курс об использовании алгоритмов машинного обучения в творчестве. Создан при поддержке проекта Google Magenta. На курсе изучаются основные компоненты глубокого обучения: свёрточные сети, генеративные состязательные сети, вариационные автокодеры и рекурсивные нейросети. Если эти слова вас пока пугают — начните с курсов выше, рассчитанных на новичков.

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

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

Что выбрать, чтобы стать дата-сайентистом: самообразование, онлайн-курсы или вуз?

Что выбрать, чтобы стать дата-сайентистом: самообразование, онлайн-курсы или вуз?

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

Что такое Data Science?

Data Science — это наука о данных. Ее методы позволяют обрабатывать большие объемы информации. Дата-сайентист строит разные модели, и по их результатам находит неочевидные закономерности и делает прогнозы. Дата-сайентисты нужны там, где можно извлечь пользу из больших объемов информации: в крупном бизнесе, стартапах, научных организациях. Методы Data Science широко применяются в розничной торговле, банковской сфере, медицине, метеорологии и химии.

Бесплатно / 2 месяца
Курс по базовой математике
Изучайте язык, на котором написано абсолютное большинство сайтов

img (1)

Дата-сайентисту важно хорошо знать математику: линейную алгебру, теорию вероятности, статистику, матанализ. Чтобы применять математические модели на практике, нужно знать Python, SQL, уметь работать с библиотеками и фреймворками для машинного обучения. Для более сложных задач понадобится язык С или C++.

Читайте также Кто такой Data Scientist и чем он занимается

Изучать самостоятельно

  • денежных вложений почти не требуется (разве что придется купить несколько учебников);
  • можно выбирать время, продолжительность занятий и темп обучения.

Минусы:

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

Шаг 1. Мониторим рынок

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

Далее — навыки, связанные непосредственно с профессией. Чаще всего это основы программирования на Python и работа с библиотеками Pandas и NumPy. А еще — выгрузка баз с помощью SQL, работа c файлами, HTML-страницами и API.

Будущие дата-сайентисты должны понимать, как применять для решения бизнес-задач машинное обучение и что оно из себя представляет (Machine Learning — это методы разработки алгоритмов, которые помогают решать задачи на основе поиска закономерностей в различных данных).

Шаг 2. Получаем базовые знания

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

Самые крутые теоретические книги:

  1. «(Не)совершенная случайность», Леонард Млодинов. Увлекательная книга о теории вероятности, роли случая и закономерности в нашей жизни.
  2. «Голая статистика», Уилан Чарльз. Автор доказывает, что статистика — совсем не скучная, и на живых примерах конкретных компаний объясняет, как работают большие данные.
  3. YouTube-канал с анимированными роликами, объясняющими основные законы математики.
  4. «О чем говорят цифры», Том Дэвенпорт и Ким Джин Хо. Книга о том, как сбор данных пригождается в реальной жизни и бизнесе.

Основы Python:

  1. «Изучаем Python», Марк Лутц. Самая подробная книга об основах этого языка программирования.
  2. Python Tricks, Дэн Бейдер. Автор пишет о хитрых трюках, которые стоит изучить, если вы хотите программировать быстрее.
  3. Real Python Tutorials. Сайт для изучения Python с нуля: классные мультики и постепенное погружение.
  4. Портал, где можно найти информацию по всем основным вопросам, которые возникают в начале пути.
  5. «Python. К вершинам мастерства», Лучано Рамальо. Отлично подходит для аналитиков — как начинающих, так и продвинутых.
  6. «Искусственный интеллект с примерами на Python», Пратик Джоши. Подойдет для начинающих погружение в Machine Learning.

Введение в Data Science:

  1. Numsense! Data Science for the Layman, Су Кеннет, Анналин Ын. Авторы описывают основные принципы работы с большими данными.
  2. Data Science from Scratch, Грас Джоэл. В этом пособии описаны программные библиотеки, модули, пакеты инструментов и основные платформы. Подходит для начинающих.
  3. Библиотека материалов по Pandas от канала DataLytics, Алексей Макаров.
  4. Статья, в которой рассматриваются плюсы и минусы популярных сервисов бизнес-аналитики: Power BI, Qlik Sense, Tableau.
  5. «SQL для простых смертных», Мартин Грабер. Это пособие для тех, кто никогда не работал с базами данных. Все объясняется пошагово и доступно.

Шаг 3. Выполняем пробные кейсы

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

Читайте также Что такое Kaggle и зачем он дата-сайентисту?

Шаг 4. Вливаемся в комьюнити и пишем резюме

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

Поступить в вуз

Плюсы:

  • в университете можно попробовать поступить на бюджет или получить серьезную скидку на обучение (например, такая возможность есть в ВШЭ);
  • есть большое поле для нетворкинга;
  • возможность изучать дополнительные предметы другого профиля;
  • низкая вероятность все бросить из-за поддержки коллектива.

Минусы:

  • высокая стоимость платного обучения, полный курс занимает много времени (2 или 4 года в зависимости от уровня);
  • необходимо посещать очные занятия;
  • многие знания могут быть устаревшими;
  • часто много теории и мало практики.

Станьте дата-сайентистом и решайте амбициозные задачи с помощью нейросетей

Куда пойти учиться?

Оксана Дереза была филологом, но решила переквалифицироваться — и пошла на «технарскую» магистратуру ВШЭ. В то время, когда Оксана училась в университете, специальных курсов не существовало. Сейчас она — ментор SkillFactory.

Вот несколько вариантов прохождения обучения в области Data Science в России.

Бакалавриат
  • Программы МФТИ и Skillfactory — для тех, кто всегда мечтал о физтехе. От 160 000 рублей за семестр.

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

  • Бауманка и Mail.Ru — больше возможностей для трудоустройства.От 270 тысяч рублей в год.

Как и в Физтехе, в Бауманке Data Science доступны не всем: сначала нужно изучить основы. На университетскую программу «Технопарк» совместно с российским IT-гигантом могут поступить студенты Бауманки со второго курса и выше — по конкурсу.

Магистратура
  • Совместная онлайн-программа НИТУ МИСиС и SkillFactory — для тех, кто хочет учиться из любой точки мира.От 265 тысяч рублей в год (можно взять образовательный кредит).

Абитуриенты должны владеть азами математики и информатики. Но МИСиС ждет на «Науках о данных» не только технарей — для желающих есть подготовительные курсы и консультации.

Диплом онлайн-магистратуры ничем не отличается от «физической» (даже дает отсрочку от армии). Среди преподавателей — университетские профессора и специалисты из Microsoft или BIOCAD. Студенты будут готовить реальные проекты, например для Ростелекома и Nvidia. Партнеры курса обещают помощь с трудоустройством.

  • СПбГУ — для любителей Петербурга. От 265 500 рублей в год.

Программа «Исследование операций и системный анализ» предполагает, что абитуриенту уже знакомы прикладная математика и информатика. По крайней мере, конкурс портфолио проводится среди бакалавров и специалистов в этой области.

Университет обещает, что после выпуска магистр сможет работать с большими данными и анализом систем массового обслуживания. Выпускники работают в Сбербанке, Газпроме и Mail.ru.

  • МГУ — для поклонников классического образования. От 241 250 рублей в год (вечерняя форма обучения).

Есть целых два направления на выбор: «Интеллектуальный анализ больших данных» и «Большие данные: инфраструктуры и методы решения задач». Поступить без специальной подготовки также будет сложно — абитуриентов ждут вступительные по математике и информатике. Зато после выпуска счастливчиков ждут «Лукойл», «Транснефть» и другие топовые компании.

  • НИУ ВШЭ — для тех, у кого международные амбиции. От 675 тысяч рублей в год (но можно получить скидку до 40% при хороших результатах экзаменов).

Вышка предлагает изучать «Науку о данных». Порог вхождения на программу ниже, чем в классические вузы, — сдавать придется только математику (но на английском). Обучение проходит на двух языках.

Студентов ждет двойной диплом с французским университетом Блеза Паскаля — и, как следствие, больше возможностей для трудоустройства за границей. Среди «звезд» факультета — сотрудники Google и Яндекса.

Начните карьеру в Data Science.
Онлайн-магистратура МФТИ с практикой на реальных проектах

Обучаться онлайн

Плюсы:

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

Минусы:

  • курсы сложно совмещать с интенсивной работой (нужно время на домашние задания).

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

Юлия Пушкина, руководитель карьерного центра SkillFactory

Как понять, что курс вам подходит?

Оценить успехи выпускников

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

Читайте: Все истории наших выпускников
Посмотреть, как компания, продающая курсы, помогает в трудоустройстве

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

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

Найти то, что вас мотивирует

Мотивация — это то, что поможет пройти курс до конца. Вот три истории выпускников SkillFactory:

Виктор Андрийчук в 38 лет понял, что не преуспел в своей профессии, вдохновился рассказом об искусственном интеллекте и сначала сам изучал Data Science и программирование, а потом поступил на курс в SkillFactory. Теперь он разрабатывает сервис, который будет автоматически с помощью машинного обучения определять, является ли сообщение от клиента спамом

Евгений Денисенко танцевал в ансамбле и работал строителем. Он пробовал себя в разных сферах и в какой-то момент понял, что не хочет быть «специалистом по всему». Евгений решил стать дата-сайентистом с нуля: прошел курс SkillFactory по Data Science и считает это решение одним из лучших в жизни. Сейчас у него есть возможность совмещать математику, программирование и творчество.

Наталья Вольдман посвятила 10 лет центру повышения квалификации, но работа перестала её радовать. Она пробовала работать интернет-маркетологом и изучать программирование, но по совету знакомого стала изучать Data Science и поняла, что это именно то, что ей интересно. Теперь она — старший скоринг-аналитик: разрабатывает и валидирует скоринговые модели по оценке возврата или невозврата займов.

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

Бывает, что в самом начале рабочего процесса вам нужно уточнить что-то или вернуться к аспекту, который вы не успели достаточно изучить. Материалы пройденного курса могут стать большой поддержкой в таком случае. Узнайте, останутся ли они с вами после завершения учебы.

Науки о данных

Освойте профессию инженера по компьютерному зрению, специалиста по машинному обучению или дата-сайентиста на онлайн-магистратуре МФТИ. Программа состоит из академических знаний и 70% практики от компаний-партнеров.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *