Тысячи компаний и предприятий собирают данные о своих пользователях, посетителях, текущих и потенциальных клиентах для увеличения продаж, конверсии бизнеса. Всю эту информацию необходимо определённым образом анализировать, интерпретировать. Человека, занимающегося обработкой больших массивов данных, называют Data Scientist или специалист по данным. Он разрабатывает механизмы сбора, хранения, анализа информации. Также занимается поиском тенденций, закономерностей, визуализацией результатов работы.
Начинаем с основ
Data Science – научная отрасль, занимающаяся данными: сбором из различных источников, анализом, извлечением из них ценных сведений и организацией хранения. Она тесно связана с математикой, статистикой, программированием, технологиями Big Data, машинным обучением (ML), визуализацией, виртуализацией. При этом знания технологий и инструментов – лишь приданое к человеку, важна его фундаментальная подготовка. Это умение мыслить определённым образом, находить нестандартные, оптимальные решения, математическая подкованность.
Определитесь с нуждой, которая привела вас к необходимости заняться обработкой информации, зачем вам нужны навыки Data Scientist:
- Образование – написание дипломной, магистерской работы.
- Карьера – желаете зарабатывать этим на жизнь.
В первом случае достаточно изучить основы, ключевые понятия, во втором – придется глубоко и долго погружаться в обработку данных. Новичку без образования и опыта будет сложно окунуться в мир науки об анализе информации. Для преобразования, очистки, форматирования и визуализации, организации хранения информации – её превращения в готовые для использования данные – придётся стать специалистом или частично освоить следующие области знаний:
- математические науки;
- информатика: программирование, базы данных, SQL;
- машинное обучение;
- глубокое обучение;
- обработка естественного языка;
- визуализация данных;
- инструменты развёртывания.
Вам потребуются следующие навыки:
- Умение думать алгоритмами.
- Эффективное манипулирование большими массивами данных.
- Статистическое моделирование, машинное, глубокое обучение – применяются для вычленения ненужной информации, прогнозирования результатов.
- Коммуникация – умение объяснять, простым языком передавать результаты работы сотрудникам, заказчику.
- Визуализация – представление информации в визуальном виде: графики, диаграммы.
- Программирование – знание основ написания кода, языков программирования.
- Работа с базами данных.
Перечень предъявляемых работодателем требований часто уникален.
Математика
Математические науки позволяют разрабатывать алгоритмы обращения с информацией, машинного обучения, являются основой для применения языков программирования. Вам понадобятся знания линейной алгебры, многомерного анализа, аналитической геометрии, теория вероятности.
Статистика – раздел математики, разрабатывающий и изучающий методы сбора, интерпретации, анализа, представления данных.
Теория вероятности поможет предугадывать, вычислять вероятность совершения определённых действий, событий.
Из инструментов востребованы SPSS – платформа для статистической обработки и SAS Data Miner – средство оптимизации интеллектуального анализа информации.
Информатика
Основа для Data Scientist среди компьютерных наук – программирование. Без него обрабатывать большие массивы невозможно. Для этого используют преимущественно Python (фреймворки scikit-learn, pandas, NymPy, PyTorch, TensorFlow) благодаря простоте в освоении, массе библиотек для реализации сложных механизмов обработки, машинного обучения.
На Пайтон приходится около ¾ вакансий в России. Реже используют C++, MATLAB, Scala, R (два последних – преимущественно в США).
Для написания кода нужно знать основы программирования (структуры, типы данных, переменные, списки, наборы, кортежи) и принципы ООП.
Для работы с большими стеками данных около четверти работодателей требуют знания инструментов Apache: Spark, Kafka, Hadoop. Из баз данных изучайте структурированные запросы SQL, NoSQL, MySQL. Специалисту широкого профиля понадобятся навыки обращения с Git, командной строкой, операционной системой Linux.
Машинное и глубокое обучение
Машинное обучение – популярнейший инструмент для исследователей данных. Требует знания:
- контролированного и не контролированного обучения машин, которые сами анализируют предоставленные массивы;
- алгоритмов регрессии;
- нового байесовского классификатора;
- алгоритмов кластеризации k-средние;
- деревьев решений.
Глубокое обучение – разновидность ML, которая полагается на собственные нейронные сети, работает с неструктурированными данными, но результат сильно зависит от их качества. Из инструментов это: TensorFlow, Keras, PyTorch для Python.
Визуализация данных
Для представления результатов обработки информации её визуализируют при помощи Пайтон-фреймворков Matplotlib, Tableau для Python, Power BI, платформ QlikView или QlikSense.
Прочие навыки
Для развёртывания проектов используют Heroku, Microsoft Azure, фреймворки Python Flask и Django. Также специалисту понадобится знание технического английского языка и особенностей деятельности компании, где он работает: интернет-магазин, банковский сектор.
До 40% специалистов в области Data Science работают в сфере IT, ~30% приходится на финансовые учреждения, ~10% – BTB.
Выбираем специализацию
Data Science – не профессия, а наука о данных, где существуют следующие направления.
Data architect
Архитектура данных – разработка свода правил, закономерностей, стандартов, определяющих тип полученной информации, способы её безопасного использования и хранения.
Задачи:
- Предоставление инструментов обработки для дата-инженеров.
- Оптимизация, минимизация расходов при анализе данных.
- Резервирование, восстановление утраченной информации.
Нужны знания баз данных: платформы Hadoop, машинного обучения, визуализации, принципов хранения информации.
Data engineer
Дата-инженер отвечает за политику хранения информации, определённую дата-архитектором.
Задачи:
- Проектирование баз данных, моделей их хранения.
- Разработка, реализация, тестирование IT-инфраструктуры, поддержание её работы, развитие.
Знания: программирование (Python, MATLAB), построение каналов прохождения данных, SQL, noSQL.
Часто должности engineer и architect объединяют.
Data analyst
Аналитик занимается непосредственно анализом собранной информации, делает выводы.
Задачи:
- Выявление закономерностей.
- Интерпретация данных.
- Визуализация – перевод цифр и таблиц на человекопонимаемый язык.
Знания: математика, подготовка исходников к анализу, средства визуализации, языки программирования, SQL-запросы, Excel, Access, Tebleau.
Data scientist
В отличие от аналитика «сайентист» – больше технический специалист, он отлично знает математику, программирование, машинное обучение, визуализацию с уклоном на сферу деятельности – понимает бизнес-процессы.
Scientist разрабатывает способы «вытащить» нужную информацию, находит ответы, получив неструктурированную информацию. В его обязанности входит предиктивный анализ – предсказание процессов, исходя из результатов обработки полученных сведений.
Machine Learning Engineer
Узконаправленный специалист, занимающийся машинным обучением.
Задачи:
- Проектирование, написание программ для machine learning.
- Поддержание функционирования и развитие созданных моделей.
Знания: язык программирования Python с ML-ориентированными фреймворками, Hadoop.
Business Intelligence Developer
BI-разработчик занимается визуализацией данных, технические знания не обязательны.
Задачи:
- Структурирование информации.
- Представление сведений в удобочитаемом (-воспринимаемом) виде.
- Создание аналитических отчётов.
Инструменты: SQL-запросы, средства визуализации: Python, JavaScript с соответствующими фреймворками, DAX, средства создания отчётов вроде Report Builder.
Database administrator
Администратор баз данных поддерживает БД в работоспособном состоянии.
Задачи:
- Резервное копирование, восстановление баз данных.
- Распределение прав доступа (раздача привилегий пользователям).
- Объединение информации из разных БД.
Знания:
- Языки структурированных запросов: NoSQL, SQL.
- Облачные сервисы Oracle, Microsoft.
В ряде компаниях несколько специализаций сливаются в одну или появляться дополнительные: data journalists – умеют подавать информацию, ML research – разрабатывают алгоритмы машинного обучения.
Natural Language Processing Engineer
Специалист по обработке естественного языка обучает программы интерпретировать текст, вычленять из него нужную информацию.
Задачи:
- Преобразование текста в числовую информацию.
- Создание алгоритмов перевода текстов между двумя языками.
- Работа с алгоритмами обработки графической информации, например, фото, видеоматериалов.
- Разработка систем автоматического распознавания, преобразования, интерпретации, форматирования текста.
Инструменты: фреймворки Python для работы с текстовой информацией: PyTorch, SpaCy, NLTK.
Computer Vision – ответвление ветки NLP Engineer – специалист, который занимается обработкой, распознаванием изображений.
Знания Data Science применяют не только в бизнесе. Эксперты по обработке данных востребованы в силовых структурах и государственных структурах, промышленности, сфере безопасности.
Обучение
Самостоятельно освоить хотя бы одну специализацию Data Science сложно, особенно без технического образования с уклоном на изучение математики, программирования, ИИ. Даже людям, имеющим базовые понятия в нескольких направлениях, рекомендуем подобрать и пройти онлайн-курс.
Ниже мы собрали свежие курсы с актуальной информацией в области, ведь она постоянно обновляется, устаревает, появляются новые технологии и приёмы работы с данными.
https://eddu.pro/analytics/data-science-analytics/
Полезные ссылки
Информация в сети для обучения специалистов по данным слишком разрозненная, ведь представлена знаниями в десятке областей. Мы подобрали лучшие источники для ознакомления с основами анализа данных.
Книги.
- Анналин Ын, Кеннет Су – Теоретический минимум по Big Data.
- Б. Питер, Б. Эндрю – Практическая статистика для специалистов Data Science.
- Д. Грас – Data Science. Наука о данных с нуля.
- Д. Силен – Основы Data Science и Big Data. Python и наука о данных
- Б. Кеннеди – Основы Python для Data Science.
- К. О’Нил, Рэ Шатт – Data Science. Инсайдерская информация для новичков.
- П. Брюс – Практическая статистика для специалистов Data Science.
- Протодьяконов А.В., Пылов П.А., Садовников В.Е. – Алгоритмы Data Science и их практическая реализация на Python.
- С. Мейсман А. – Основы Data Science и Big Data. Python и наука о данных.
- С. Скиена – The Data Science. Design Manual | Наука о данных.
Телеграм-каналы.
- Deep Dive 2 Deep Learning – всё о глубоком обучении.
- Artificial Intelligence & Tech Space – публикации на тему нейронных сетей, ИИ.
- Big Data Science – все о дата-сайнс.
- Стать специалистом по машинному обучению.
YouTube.
- Компьютерные науки – уроки от школы Яндекс.
- Mlcourse_ai_rus – лекции по машинному обучению доступным языком.
- Deep Learning School – глубокое обучение для детей.
- Computer Science Center – десятки уроков по компьютерным наукам, программированию.
- Математическая визуализация данных.
FAQ
Насколько опытным кодером должен быть эксперт по данным?
Дата-сайентист – разработчик, его компетенций должно хватать для написания нужных для работы фрагментов кода: чистого, оптимизированного, удобочитаемого; составления документации по работе с ним.
Как новичку освоить знания Data Science?
Сделать это с нуля крайне трудно. Обычно в сферу обработки информации приходят со смежных областей: IT-аналитика, программирование, связанные с математикой и ИИ сферы деятельности.
Какой математический бэкграунд нужен эксперту по данным?
Для написания кода и обработки информации нужны знания теории вероятности, математической статистики, линейной алгебры, оптимизации.