Люди всё чаще задаются вопросом «реально ли создать настоящий искусственный интеллект?», компании используют модную фразу «artificial intelligence» в рекламе, а крупные корпорации пытаются предсказывать всё возможное, чтобы повысить прибыль. Но до искусственного разума уровня научной фантастики человечество ещё не доросло, а вот технологии поддержки принятия решений и методы прогнозирования с высокой долей вероятности уже существуют, и создают их обычные люди — аналитики данных, или data scientists.
Множество различных понятий используются в качестве синонимов: data scientist, data miner, data analyst, data engineer, big data analyst — попробуем разобраться, чем они отличаются, а заодно — с сутью науки о данных.
Нет времени читать, а есть желание сразу узнать где профессию Data scientist'a можно освоить? Загляните в онлайн-школу SkillFactory, здесь уже скоро стартует "Специализация Data Science".
Фактически история науки о данных началась со времен появления статистики и поиска методов обработки информации с целью извлечь из нее осмысленные закономерности. В 1962 году Джон В. Туки впервые употребил термин «анализ данных» в своем труде «Будущее анализа данных». Человечество стало впервые использовать возможности компьютера для решения статистических задач. Затем был период разработки методов извлечения знаний из баз данных (knowledge discovery in databases), и в 1996 году мир познакомился с понятием «data science» на конференции International Federation of Classification Societies (IFCS).
За последние десятилетия появились и другие понятия, например data mining и big data. Наравне с «наукой о данных» использовался термин «анализ данных» и «бизнес-анализ данных» (data analysis, BI analysis). Все перечисленные названия различных аспектов data science часто используют как синонимы, что не всегда верно: data mining больше относится к обработке и анализу текстовых данных, а BI analysis тесно связан с развитием бизнеса и применением ПО для изучения эффективности бизнес-процессов.
Единственное значимое различие data science и big data — объём обрабатываемых данных: грубо говоря, исследователи данных работают с данными до нескольких миллионов объектов максимум, а big data аналитики имеют дело с сотнями миллионов и даже с миллиардами записей в датасете (таблице данных).
Современный data scientist — Супермен на стыке трёх миров: науки, бизнеса и IT-индустрии. Хороший специалист в этой сфере должен сочетать в себе отличное знание математики (статистики, теории вероятности, методов оптимизации), умение писать качественный код для расчётов и моделей, а также способность быстро погрузиться в предметную область, разобраться в её законах, найти проблему и обозначить пути решения.
От решений аналитика данных — сделанных выводов, найденных ответов — зависит развитие бизнеса (или той отрасли, в которой он работает). Для такого специалиста важно не только умение обрабатывать данные и извлекать из них полезную информацию, но и способность наглядно и понятно продемонстрировать результат, а затем убедить руководящий состав в эффективности предлагаемых путей развития.
Майкл Лукидс, автор книги «What is Data Science?», считает: «Аналитики данных совмещают в себе предприимчивость и терпение, готовность к итеративной работе над проектом. Они междисциплинарны в своей сути. Они могут работать над всеми аспектами проблемы, от первоначального сбора данных и их обработки до предоставления выводов. Они думают нестандартно, чтобы придумать новые решения проблемы, увидеть её с других сторон, или для работы над абстрактной задачей типа „У нас есть много данных, что вы можете с ними сделать?“»
Конкретные общепринятые навыки и умения, которыми должен обладать современный аналитик данных, можно разделить по вышеперечисленным категориям. Рассмотрим их:
- Область математики и статистики включает такие фундаментальные дисциплины:
- математический анализ;
- статистика;
- теория вероятности;
- методы оптимизации (и иногда — теория игр).
Как минимум, без общих знаний по этим наукам крайне сложно получить важные практические навыки:
- создавать и анализировать статистические модели;
- знать и понимать методы машинного обучения;
- оптимизировать уже имеющиеся математические модели для решения конкретных задач.
2. Область программирования. Для воплощения моделей на компьютере и прогнозирования результат с их помощью аналитику жизненно важно уметь закодировать математическую модель программным языком. Для этого необходимы следующие навыки и знания:
- знание основ информатики;
- знание скриптовых языков: Python (библиотеки NumPy, Pandas, SciPy, Scikit-learn, matplotlib, seaborn и др.), R (библиотеки, схожие с библиотеками Python);
- реляционные базы данных (проектирование и запросы SQL), будет плюсом работа с NoSQL базами данных;
- навыки работы с MapReduce, Hadoop, Spark;
- навыки работы с GPU и CUDA;
- умение работать в Linux/Unix операционных системах.
3. С точки зрения бизнеса, аналитику необходимо грамотно и понятно толковать результаты своих исследований, представлять их визуально и системно, наглядно объясняя обнаруженные закономерности. Специалист должен:
- уметь грамотно и лаконично излагать свои суждения;
- понятно интерпретировать результаты моделей и на их основе предлагать решения и действия, благоприятные для компании;
- уметь строить всевозможные графики (в этом помогут библиотеки языков Python, R);
- знать инструменты визуализации (Tableau, D3.js, Google Visualize и др.).
Все эти знания, навыки и умения data scientist использует на разных этапах работы над проектом.
- Постановка задачи. Далеко не всегда чётко ясна цель и возможные результаты работы. Аналитику нужно систематизировать всю информацию, полученную от заказчика и в ходе анализа, и прийти к чёткому пониманию проблемы и возможных путей поиска её решения.
- Сбор и предобработка данных. Здесь data scientist имеет дело с базами данных, серверами и бесконечными текстовыми или графическими данными, которые сначала нужно извлечь, собрать и систематизировать, а затем — очистить и привести к надлежащему виду (проверить на ошибки, пропущенные значения, удалить неинформативные объекты).
- Изучение данных и построение статистических моделей. На данном этапе исследователь данных работает в качестве хорошего статистика и программиста: сначала изучает данные, визуализирует их и считает различные метрики, а затем программирует статистические модели, модели машинного обучения, исследует результаты и, при необходимости, улучшает что-то в моделях или возвращается к началу и снова изучает данные с точки зрения математика.
- Интерпретация и визуализация результатов. Для завершения проекта аналитику нужно представить полученные данные в терминах предметной области и дать ясный ответ на вопрос, сформулированный на начальном этапе проекта. Эффективная коммуникация и свободное владение средствами визуализации и презентации — фундамент удачного завершения проекта в рамках data science.
Важно отметить, что это описание — лишь обобщённые требования к исследователю данных, и в каждой отрасли, где применяются методы ИИ, есть специфические требования. Поэтому современный data scientist — это человек, способный постоянно самообучаться и решать творческие задачи. На нашем портале мы предлагаем вам сделать шаг навстречу одной из самых привлекательных профессий 21 века и пройти курсы по data science.