Кто такой дата-сайентист
Если вы не знаете, чем заняться ближайшие 15 лет, — идите в дата-сайенс, помогите нейросетям захватить мир.
В последнее время на слуху два термина: биг дата и дата-саенс. Сегодня — что это такое и зачем нужно.
Технические навыки
— Советую начинать именно с них, чтобы вы сразу ориентировались на практику, а не уходили в математическую теорию. Самый популярный язык программирования в DS — Python. По опросу Kaggle, который площадка проводила внутри своего сообщества специалистов по обработке данных и машинному обучению в 2018 году, 83% респондентов используют Python ежедневно. Поэтому в первую очередь изучите его, но немного внимания нужно будет уделить кое-каким другим языкам. Например, R.
Основы Python
В сети масса бесплатных вводных курсов, но лично я считаю, что лучшие — это курсы Codecademy: в них много практических заданий, все они выполняются в браузере.
Предлагаю пройти вот этот вводный курс по Python. Здесь изложены основы синтаксиса, функции, поток управления, циклы, модули и классы.
Python и анализ данных
Далее нужно очень хорошо разобраться с тем, как Python используют в анализе данных.
- Для начала пройдите хотя бы бесплатную часть материалов по анализу данных на dataquest.io. Этот ресурс предлагает полноценные учебные программы по подготовке дата-аналитиков, дата-сайентистов и дата-инженеров.
- Очень много контента, особенно по анализу данных, находится в бесплатном доступе, но если вы захотите выучиться побыстрее и не пожалеете денег, то очень рекомендую оформить подписку на несколько месяцев. Этот курс заложит прочный фундамент для дальнейшего изучения DS. Я прошла программу для дата-сайентистов за полгода. Цены у Dataquest в диапазоне от $24,5 до $49 в месяц в зависимости от того, на какой срок покупать подписку (годовая — дешевле).
Dataquest — Learn Data Science
Missed our Black Friday sale? It’s back for a few more days for #CyberWeek. Now through Friday, save big when you make an investment in yourself.View plans: buff.ly/35T4IG8
Опубликовано Dataquest Вторник, 3 декабря 2019 г.
Python и машинное обучение
- По возможности не скупитесь на полный курс по DS на Dataquest: он даст вам крепкую базу по использованию Python в машинном обучении. В противном случае есть множество бесплатных источников. Начинайте со scikit-learn — это, пожалуй, самая популярная ML-библиотека для Python.
- Ещё мне повезло попасть на двухдневный воркшоп Андреаса Мюллера, одного из ключевых разработчиков scikit-learn. Материал того курса (и не только) он целиком выложил на GitHub. Здесь есть наглядная графика, конспекты и заметки, над которыми можно поработать самостоятельно, что я вам настоятельно рекомендую.
- Стоит ознакомиться с некоторыми туториалами из документации scikit-learn, после чего уже можно попробовать делать настоящие ML-приложения и разбираться с тем, как устроены ML-модели (но об этом позже).
SQL — обязательный навык для дата-сайентиста, так как одним из ключевых процессов моделирования данных является, прежде всего, их извлечение. В большинстве случаев вам будет нужно уметь запускать SQL-запросы к базам данных.
Вот пара бесплатных ресурсов для тех, кто решил не брать полный курс на Dataquest.
-
есть на Codecademy. Он очень удобный, кодить нужно не выходя из браузера.
- Тем, кто интересуется облачными базами данных и отправкой запросов в них, рекомендую заглянуть на Google Cloud BigQuery. Здесь есть пробная версия (можно потренироваться бесплатно), доступ к обширному массиву публичных датасетов и толковая документация.
Не ограничивайтесь Python: дата-сайентисту очень полезно владеть языком R, поэтому советую пройти вводный курс ещё и по нему.
Бесплатный вариант есть на Codecademy. Стоит отметить, что эта площадка тоже предлагает комплексную программу по подготовке дата-сайентистов, но только по подписке на тариф Pro. Стоит она от $15,99 до $ 31,99 в месяц — смотря на сколько месяцев вперёд платить. Лично мне курс Dataquest показался гораздо более содержательным, хотя здесь может получиться немного дешевле, если вы предпочитаете заниматься по одной платформе.
Разработка программного обеспечения
Дата-сайентисту будет нелишним освоить навыки и лучшие практики разработки софта: это улучшит читабельность вашего кода, и его будет проще дополнять — как вам самим, так и другим. Кроме того, чтобы выкатывать модели в продакшн, нужно научиться генерировать качественный, хорошо проверенный код и работать с такими инструментами, как системы контроля версий.
В помощь вам — два ресурса:
-
охватывает руководство PEP 8, которое описывает общепринятый стиль оформления кода на Python, документацию, и ещё в нём очень сильная часть про объектно-ориентированное программирование. — о том, как вносить вклад в разработку scikit-learn. Здесь здорово разобраны лучшие подходы и принципы, которые на самом деле универсальны и применимы не только к этой библиотеке. Затрагивается GitHub, юнит-тестирование и отладка кода, причём всё рассмотрено в контексте DS.
Глубокое обучение
Самое лучшее и развёрнутое введение в глубокое обучение дают авторы fast.ai — этот ресурс тоже бесплатный, и на нём совершенно нет рекламы.
Курс включает введение в машинное обучение, практические аспекты глубокого обучения, вычислительную линейную алгебру, а также введение в обработку естественного языка с акцентом на программирование. Все курсы на этом сайте объединяет прикладной подход, поэтому очень советую не проходить мимо.
Photo by Chris Liverani on Unsplash
Чтобы работать с данными, нужно быть программистом
Кадр из сериала «Кремниевая долина»
Data Science — новая специальность, и у нее нет каких-либо ограничений относительно того, кто может выучиться на нее. Инженер вы или гуманитарий, разобраться в больших данных будет несложно. Главное — подобрать нужный курс, где не просто нужно штудировать учебники, а есть много практических заданий и поддержка преподавателей (менторов), которые помогут, если что-то не получается.
Ну и, конечно, иметь желание учиться и познавать новое. Конечно, если вы знаете языки программирования и общаетесь с компьютером на «ты», это ускорит процесс освоения специальности, но зачастую наличие другого образования, не связанного с программированием, может стать большим плюсом. Финансисты смогут решать с помощью Data Science задачи, которые касаются их специализации, а биологи — делать новые медицинские открытия.
Например, не так давно команда DеepMind создала алгоритм AlphaFold 2, который помог определить трехмерную структуру белка. Это открытие позволит создать новые лекарственные препараты против болезней, поскольку с помощью структуры ученые будут знать, как работает белок, как он сворачивается и взаимодействует с другими элементами, чтобы его можно было безболезненно использовать в лекарствах.
Где применяется Data Science
• обнаружение аномалий, например, ненормальное поведение клиента, мошенничества;
• персонализированный маркетинг — электронные рассылки, ретаргетинг, системы рекомендаций;
• количественные прогнозы — показатели эффективности, качество рекламных кампаний и других мероприятий;
• скоринговые системы — обработка больших объемов данных, помощь в принятии решений, например, о предоставлении кредита;
• базовое взаимодействие с клиентом — стандартные ответы в чатах, голосовые помощники, сортировка писем по папкам.
Deep Learning
Deep Learning — относительно новый термин, однако существовавший ещё до резкого роста повышения внимания к науке о данных.
Deep Learning — это процесс применения технологий глубоких нейронных сетей — архитектур нейронных сетей с несколькими скрытыми уровнями — для решения поставленных задач.
По сути это Data Mining, в котором используются архитектуры глубоких нейронных сетей — особого типа алгоритмов машинного обучения.
реклама
Нейросети сейчас встречаются чуть ли не везде. Например, в юриспруденции они могут освободить юриста от долгой и нудной работы по поиску прецедентов; в логистике помогут рассчитать потребность в товарах и построить самый выгодный маршрут, а медицине – разработать эффективный курс лечения. Сейчас ИИ может нарисовать картину и завершить незаконченное музыкальное произведение.
Помощь нейросети в самообучении оказывают специалисты в области Data Science. Их профессия называется Data Scientist. Человек, который освоил её, является экспертом по аналитическим данным. Для этого не обязательно быть продвинутым программистом, а достаточно иметь базовые знания Python и способность к анализу.
Кроме того, Data Scientist должен обладать упорством, поскольку с первого раза определить идеальную формулу для обучения искусственного интеллекта не представляется возможным. Специалист должен изучать все существующие алгоритмы для выбора того, какой бы идеально подошёл для решения задач.
Как стать Data Scientist
Как работают дата-сайентисты
Для работы с данными дата-сайентисты применяют целый комплекс инструментов — пакеты статистического моделирования, различные базы данных, специальное программное обеспечение. Но, главное, они используют технологии искусственного интеллекта и создают модели машинного обучения (нейросети), которые помогают бизнесу анализировать информацию, делать выводы и прогнозировать будущее.
Каждую такую нейросеть необходимо спланировать, построить, оценить, развернуть и только потом перейти к ее обучению. «Сейчас, по нашим оценкам, в процессе работы над ИИ-решениями только 30% времени специалистов уходит на обучение моделей. Все остальное — на подготовку к нему и другую рутину», — говорит CTO «Сбербанк Груп», исполнительный вице-президент и глава блока «Технологии» Давид Рафаловский.
Компания Anaconda, которая разрабатывает продукты для работы с данными, приводит еще более печальную статистику. Ее опросы показывают, что в среднем почти половину времени (45%) специалисты тратят на подготовку данных, то есть их загрузку и очистку. Еще примерно треть уходит на визуализацию данных и выбор модели. На обучение и развертывание остается всего 12% и 11% рабочего времени соответственно.
Data Scientist: кто это и что он делает
В переводе с английского Data Scientist – это специалист по данным. Он работает с Big Data или большими массивами данных.
Data Scientist – это человек, который собирает, обрабатывает, анализирует и изучает данные.
Источники этих сведений зависят от сферы деятельности. Например, в промышленности ими могут быть датчики или измерительные приборы, которые показывают температуру, давление и т. д. В интернет-среде – запросы пользователей, время, проведенное на определенном сайте, количество кликов на иконку с товаром и т. п.
Данные могут быть любыми: как текстовыми документами и таблицами, так и аудио и видеороликами.
От области деятельности зависят и результаты работы Data Scientist. После извлечения нужной информации специалист устанавливает закономерности, подвергает их анализу, делает прогнозы и принимает бизнес-решения.
Человек этой профессии выполняет следующие задачи: оценивает эффективность и работоспособность предприятия, предлагает стратегию и инструменты для улучшения, показывает пути для развития, автоматизирует нудные задачи, помогает сэкономить на расходах и увеличить доход.
Его труд заканчивается созданием модели кода программы, сформировавшейся на основе работы с данными, которая предсказывает самый вероятный результат.
Профессия появилась относительно недавно. Лишь десятилетие назад она была официально зафиксирована. Но уже за такой короткий промежуток времени стала актуальной и очень перспективной.
Каждый год количество информации и данных увеличивается с геометрической прогрессией. В связи с этим информационные массивы уже не получается обрабатывать старыми стандартными средствами статистики. К тому же сведения быстро обновляются и собираются в неоднородном виде, что затрудняет их обработку и анализ.
Вот тут на сцене и появляется Data Scientist. Он является междисциплинарным специалистом, у которого есть знания статистики, системного и бизнес-анализа, математики, экономики и компьютерных систем.
Знать все на уровне профессора не обязательно, а достаточно лишь немного понимать суть этих дисциплин. К тому же в крупных компаниях работают группы таких специалистов, каждый из которых лучше других разбирается в своей области.
Эти знания помогают ему выполнять свои должностные обязанности:
- взаимодействовать с заказчиком: выяснять, что ему нужно, подбирать для него подходящий вариант решения проблемы;
- собирать, обрабатывать, анализировать, изучать, видоизменять Big Data;
- анализировать поведение потребителей;
- составлять отчеты и делать презентации по выполненной работе;
- решать бизнес-задачи и увеличивать прибыль за счет использования данных;
- работать с популярными языками программирования;
- моделировать клиентскую базу;
- заниматься персонализацией продуктов;
- анализировать эффективность деятельности внутренних процессов компании;
- выявлять и предотвращать риски;
- работать со статистическими данными;
- заниматься аналитикой и методами интеллектуального анализа;
- выявлять закономерности, которые помогают организации достигнуть конечной цели;
- программировать и тренировать модели машинного обучения;
- внедрять разработанную модель в производство.
Четких границ требований к Data Scientist нет, поэтому работодатели часто ищут сказочное создание, которое может все и на превосходном уровне. Да, есть люди, которые отлично понимают статистику, математику, аналитику, машинное обучение, экономику, программирование. Но таких специалистов крайне мало.
Еще часто Data Scientist путают с аналитиком. Но их задачи несколько разные. Поясню, что такое аналитика и как она отличается от деятельности Data Scientist, на примере и простыми словами.
В банк пришел клиент, чтобы оформить кредит. Программа начинает обрабатывать данные этого человека, выясняет его кредитную историю и анализирует платежеспособность заемщика. А алгоритм, который решает выдавать кредит или нет, – продукт работы Data Scientist.
Аналитик же, который работает в этом банке, не интересуется отдельными клиентами и не создает технические коды и программы. Вместо этого он собирает и изучает сведения обо всех кредитах, что выдал банк за определенный период, например, квартал. И на основе этой статистики решает, увеличить ли объемы выдачи кредитов или, наоборот, сократить.
Аналитик предлагает действия для решения задачи, а Data Scientist создает инструменты.
Программы для прогноза повышения и понижения курса валют, выгодности покупки и продажи акций, предугадывания спроса потребителей, сервисы распознавания лиц и голоса, даже алгоритмы подбора рекомендаций друзей и музыки в социальных сетях – это продукт работы специалиста по данным.
Итоги по теме: 7 обязательных навыков дата-сайентиста
Ну вот, теперь ты знаешь все 7 необходимых навыков, которые будут жизненно важны, если ты хочешь стать data scientist. Основная идея заключается в том, что знания даже основ всех семи навыков будет достаточно, чтобы получить работу в области data science на начальном уровне. И только годы опыта работы с большими данными, и самообразование помогут тебе подняться по карьерной лестнице, но у тебя будет время на то, чтобы углубиться в изучении конкретных областей.
Советую прочитать предыдущую статью — Поговорим о странностях питона.
А также подписывайтесь на группу ВКонтакте, Telegram, Инстаграм и YouTube-канал. Там еще больше полезного и интересного для программистов.