Что такое наука о данных? Аналитик данных - Data Scientists

Что такое наука о данных? Аналитик данных — Data Scientists

Что такое наука о данных? Аналитик данных — Data Scientists

— Данные! Где данные? — раздраженно восклицал он. —
Когда под рукой нет глины, из чего лепить кирпичи?
Артур Конан Дойль

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

Аналитиков данных (data scientists) называют «самой сексуальной профессией XXI века». Очевидно тот, кто так выразился, никогда не бывал в пожарной части.

Тем не менее, наука о данных (data science) — это действительно передовая и быстроразвивающаяся отрасль знаний, а чтобы отыскать обозревателей рыночных тенденций, которые возбужденно предвещают, что через 10 лет нам потребуются на миллиарды и миллиарды больше аналитиков данных, чем мы имеем на текущий момент, не придется долго рыскать по Интернету.

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

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

Развивать свои навыки алгоритмизации и программирования лучше всего решая прикладные задачи.

https://github.com/joelgrus/data-science-from-scratch — примеры скриптов для анализа данных «Data Science from Scratch»

С чистого листа

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

По поводу того, какой язык программирования лучше всего подходит для обучения науке о данных, развернулась здоровая полемика. Многие настаивают на языке статистического программирования R. Некоторые предлагают Java или Scala. Кто-то считает, что Python — идеальный вариант.

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

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

Господство данных

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

Сам Интернет представляет собой огромный граф знаний, который, среди всего прочего, содержит обширную гипертекстовую энциклопедию, специализированные базы данных о фильмах, музыке, спортивных результатах, игровых автоматах, мемах и коктейлях… и слишком много статистических отчетов (причем некоторые почти соответствуют действительности!) от слишком большого числа государственных исполнительных органов, и все это для того, чтобы вы объяли необъятное.
В этих данных кроятся ответы на бесчисленные вопросы, которые никто даже не думает задавать. Эта книга научит вас, как их находить.

Что такое наука о данных?

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

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

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

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

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

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

Полезное о Python

Интерактивная оболочка IPython

Интерактивная оболочка IPython http://ipython.org/ обеспечивает больший функционал, чем стандартная среда. IPython упростит Вам работу.

Библиотека Pandas

Библиотека Pandas (http://pandas.pydata.org/) предоставляет дополнительные структуры данных для работы с массивами данных на языке Python. Ее основная абстракция — это проиндексированный многомерный массив значений DataFrame. Если Вы собираетесь использовать Python для преобразования, разбиения, группирования и управления наборами данных, то Pandas является бесценным инструментом для этих целей.

Библиотека scikit-learn

Библиотека scikit-learn (https://scikit-learn.org/stable/) — это, наверное, самая популярная библиотека для работы в области машинного обучения на языке Python. Она содержит все модели, которые были тут реализованы, и многие другие. В реальной ситуации не следует строить дерево принятия решений «с чистого листа»; всю тяжелую работу, связанную с решением этой задачи, должна делать библиотека scikit-learn. При решении реальных задач в области оптимизации вместо реализации какого-либо алгоритма оптимизации вручную следует положиться на библиотеку scikit-learn, где он уже эффективно реализован.

Библиотеки по Визуализации данных

https://matplotlib.org/ — Matplotlib is a Python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms. Matplotlib can be used in Python scripts, the Python and IPython shells, the Jupyter notebook, web application servers, and four graphical user interface toolkits.

http://seaborn.pydata.org/ — Seaborn is a Python data visualization library based on matplotlib. It provides a high-level interface for drawing attractive and informative statistical graphics.

https://bokeh.pydata.org/ — Bokeh is an interactive visualization library that targets modern web browsers for presentation. Its goal is to provide elegant, concise construction of versatile graphics, and to extend this capability with high-performance interactivity over very large or streaming datasets. Bokeh can help anyone who would like to quickly and easily create interactive plots, dashboards, and data applications.