Ленинградский пр-т, д. 80, к. Г125190Москва, Россия
8 495 800-10-01stimes@synergy.ruhttps://synergytimes.ru/img/universal/logo-new.svg
28 апреля 2022 г. Строй карьеруПрочитаете за 7 мин

«Алгоритм предложил ставить банкоматы на кладбищах»: как data scientist меняет нашу жизнь

«Алгоритм предложил ставить банкоматы на кладбищах»: как data scientist меняет нашу жизнь

Фото из личного архива А. Каримова

Айрат Каримов работает data scientist в одном из крупных банков. В эту профессию он пришел из любопытства, когда в начале пандемии коронавируса решил выяснить, как будет вести себя вирус со временем. А дальше начались бесконечные экселевские таблички, расчеты, прогнозы, и теперь он занимается тем, что пытается спрогнозировать нашу жизнь и сделать ее комфортнее. Айрат рассказал Synergy Times, можно ли прийти в аналитику данных с нуля, реально ли освоить профессию по видео из интернета и учебникам и как на самом деле банки «придумывают» для клиентов акции с помощью аналитики.

Пришёл в профессию, так как хотел сделать первый прогноз по COVID-19

Data science — это наука о том, как собирать и анализировать данные с помощью искусственного интеллекта. Впервые я столкнулся с этим, когда работал тестировщиком приложений: хотелось не просто находить ошибки, а выявлять закономерности их появления и предотвращать. Я стал изучать «библии» вроде «Python и машинное обучение» Себастьяна Рашки и Вахида Мирджалили и обучалки на YouTube. Так по примерам из книжек и роликов я внедрил в работу простенькие инструменты data science и научился предопределять баги.

Но по-настоящему я увлёкся data science, когда появились первые новости о коронавирусе, в конце 2019 года. Он ещё не стал мейнстримом, но уже были данные о заболевших, умерших и тех, кто выздоровел: сначала заболело 100 тысяч человек, потом 200 и т. д. Я решил посчитать, как будет развиваться эпидемия, сколько людей заболеют через день, неделю, месяц, год. В феврале 2020 года я начал воплощать свой data-science-проект.

График прогноза распространения COVID-19 в мире. Из личного архива А. Каримова

Я тратил на это всё свободное время. Мне было пофиг на усталость после работы — хотелось увидеть результат. Я загрузил в питоновскую среду разработки PyCharm библиотеку Request — это специальная функция типа расширений в Google Chrome, которая помогает парсить (собирать – прим.ред.) данные. Каждый день собирал информацию из открытых источников, делал таблицы данных. Большинство data scientist использует готовые модели для машинного обучения, например, из библиотеки sklearn. Я тоже так делал: брал несколько моделей, показывал им данные и делал графики с прогнозами.

Пример вычисления прироста заболевших на разных моделях. Из личного архива А. Каримова

Получалось, что меньше, чем через полгода, счёт заболевших пойдёт на миллионы. Я тогда думал: не может быть! Скидывал графики в чат коллегам, они тоже говорили, что вряд ли так будет, считали, что COVID-19 — это всё слухи, всемирный заговор и т. п. Но потом стало понятно, что мои прогнозы сбываются (была небольшая погрешность, но она всегда есть).

Это и есть мой главный совет для тех, кто хочет работать в data science: нужно найти, что вам интересно, и попробовать это воплотить.

Тогда будет настоящее желание разобраться в теме, «потрогать» инструменты, прийти к конкретному результату, который выглядит как проект, а не заученная теория, пусть даже на «отлично».

«Взяли картину Ренуара и разбили на 1125 кусков», – что такое NFT и как на нём разбогатеть


Читать подробнее

Не верьте, что data science можно обучиться с нуля

Когда в описаниях разных курсов говорят, что в data science можно прийти полным нулём, не стоит этому верить. Нужна хорошая база по математике, знание языка программирования Python, понимание структуры данных, вообще, нужно разбираться в IT. Человек должен понимать суть, как с помощью умных алгоритмов превратить сухие данные в яркие симпатичные графики. Придётся нанимать репетитора или проходить подготовительные курсы, ведь новичок не понимает, чего именно он не знает, а самостоятельно разбираться многим лень.

Мне было несложно понять тонкости data science, потому что по образованию я инженер информационных систем: у меня хороший бэкграунд по математике и программированию. Но и с ним я прокачивал себя около года: изучал возможности библиотек, Machine Learning (как обучать модели разным данным и тестировать обученные модели), разбирался, как составлять оптимальный набор данных для анализа и т. д.

Фото из личного архива А. Каримова

В основном я читал книги, которые можно найти в Telegram-каналах типа «Архив программиста». Например, «Python и анализ данных» Уэса Маккини, который создал библиотеку Pandas для работы с таблицами не в базе данных, а в оперативной памяти. Или  «Введение в машинное обучение» Андреаса Мюллера и Сары Гвидо, где много практических примеров без лишней теоретической перегрузки. Также я смотрел обучающие ролики на YouTube, просто по принципу поиска типа «Обучение нейросети в Python».

А ещё я прошёл курс Data Science на образовательной платформе Stepik — там размещают свои программы «Яндекс», Mail.ru, разные универы. Курс был бесплатным, и, кроме видео с теорией, там были интерактивные задачи, на которых можно было тренироваться. Именно это было самым полезным, ведь мало понять теорию, надо ещё на разных примерах разобраться, как её применять. Например, я изучил, как использовать метрики для оценки качества моделей и сравнения разных алгоритмов. 

В data science вообще важно уметь «работать руками», ведь для работодателя главное — навыки, а не корочки.

Поэтому я нашёл свой личный лайфхак: стал подавать резюме в разные компании и практиковаться на тестовых в решении задач, которые могут прилететь на работе. На некоторые тестовые не отвечали, да и я после отправки понимал, что что-то можно было сделать по-другому — лучше. Но примерно на десятом тестовом я получил предложение от банка (замечу — осенью 2020 года в разгар пандемии, когда казалось, что всё замерло) и вот уже два года работаю в data science.

Специалист тратит 90% времени на работу с данными

Покажу закулисье работы специалиста на примере тестового задания из банка. Мне дали таблицу данных Excel, в которой были даты и время банковских переводов и их суммы. Стояла задача спрогнозировать, сколько денег переведут друг другу физические и юридические лица в определённые даты.

Среда разработки PyCharm для работы с данными

Data scientist тратит 90% времени на работу с данными: их нужно собрать, создать оптимальные наборы данных, правильно их обработать. У меня был некорректный набор: на одну дату приходилось множество переводов. С помощью специальной функции я сделал новое распределение данных: на одну дату — общая сумма переводов.

Распределение данных по принципу «одна дата = общая сумма»

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

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

XGB, или xgboost, — модель машинного обучения

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


Результат работы — график, где синим помечены исходные данные, а оранжевым — прогноз.

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

Как сохранить деньги в кризис >>

Как-то раз алгоритм предложил ставить банкоматы на кладбищах

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

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

Пришлось как следует повозиться с тем, чтобы собрать из «Яндекс.Карт», Google Карт, налоговых служб и других источников информацию о том, где, например, стоят ТЦ, а где находятся глухие леса, кладбища и т. п. А потом, как ребёнку, объяснить модели, какое место подходит для установки банкомата, а какое нет.

В итоге у меня получилась чудесная интерактивная карта, на которой можно было посмотреть точные координаты мест, где банкомат будет максимально востребован. На скрине не видно, но в интерактивном режиме карту можно было приближать и смотреть конкретные локации.

Красным отмечены места, где банкоматы устанавливать нужно, другими — где нежелательно. Из личного архива А. Каримова 

Подобный проект, где нужно собирать и учитывать многочисленные наборы данных может занять 2–3 месяца, среднее время реализации более лёгких проектов — примерно месяц.

На хакатоне я узнал о задачах data science, о которых раньше не думал

Когда я работал в банке, мой руководитель попросил меня побыть в жюри Всероссийского Data-хакатона по решению глобальных социальных задач. Он проходил в рамках международного конкурса World Al & Data Challenge. Организаторами были «Сбербанк», «Яндекс», разные госучреждения. В мероприятии участвовали команды со всей страны. Из-за COVID-19 всё проходило в режиме видеоконференции, но всё равно было интересно.

Из личного архива А. Каримова

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

Например, одной из задач было определить, где в Ростовской области нужно строить новые школы и детские сады, а где нет. Логично вести стройку там, где это будет востребовано. Data scientist в данном случае работает на пользу обеих сторон: экономит деньги застройщику и предлагает ставить садики и школы там, где они реально будут нужны людям.

Я как член жюри должен был не только оценивать участников, но и помогать им, например, подсказывать, где взять недостающие данные. Было здорово наблюдать за людьми, которые горели решением задачи, задавались вопросами, предлагали идеи. Я и сам был рад узнать о задачах data science, о которых не думал раньше. Подобные хакатоны — отличная возможность обменяться опытом и зарекомендовать себя перед работодателем.

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

Я бы сам с удовольствием поработал в этом проекте: очень крутая и сложная в воплощении идея! Светофоры — не слишком умные штуки, а нейросети ещё нужно «скормить» правильную информацию об автомобилях, чтобы она, например, не приняла огромную фуру за три маленьких легковушки. Всё это страшно увлекательно! Вообще, в работе data scientist мне больше всего нравится создавать что-то новое и при этом полезное.

Как развить креативность >>

Каждый из вас немного data scientist

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

Например, если продолжать тему проекта со светофорами, я бы хотел научиться в США computer vision — технологии создания и обучения компьютеров, которые могут распознавать, отслеживать и классифицировать объекты. В России это не очень развитая область, а в США ей уделяют много внимания.

Меня в data science привёл интерес, и я вижу перед собой ещё много ступеней развития. Например, для меня звезда в мире data science — это корпорация Google. Взять хотя бы их Google Translate: он на 100% сделан на нейросети, причём на очень сложной — надо ведь, чтобы она не сломалась, когда ею одновременно пользуются миллионы людей, и всё правильно переводила.

Вы могли не догадываться, что тоже обучаете нейросеть и занимаетесь data science. Например, когда вы переводите текст в Google Translate и меняете перевод на более точное слово. Нейросеть улавливает это, учится и начинает переводить по-новому. Проекты такого масштаба мне и хотелось бы воплощать. Подобный уровень сложности и есть ориентир, куда может двигаться любой специалист по data science.

Люди, которые достигли такого профессионализма, в России могли бы зарабатывать от 250 тысяч рублей. А стартовая зарплата для новичков в России — примерно 100 тысяч рублей.

Будущее — за сферой IT

Специалисты по data science сильно влияют на нашу жизнь, но это мало кто замечает.  Например, в Nokia я работал над проектом по оптимизации параметров сети. Говоря проще, должен был вычислить, где плохо работает интернет, и определить, куда нужно поставить вышку. Сигнал может портиться из-за рельефа местности, из-за того, что на одну вышку приходится слишком много пользователей, или из-за климата. После моей работы в нужных местах прибавилось вышек, и людям стало комфортнее пользоваться интернетом. Но кто об этом знает? Никто.

В будущем из-за влияния data science сильно изменятся профессии. Во многих супермаркетах уже нет кассиров — стоят специальные аппараты на нейросетях, и люди сами могут «пробить» покупки. Уже минус одна профессия. Ещё можно вспомнить, как президент республики Татарстан тестировал в Иннополисе такси-беспилотник от «Яндекса», то есть ездил в такси без таксиста — ещё одно нововведение и ещё одна исчезающая профессия. Бухгалтеры, юристы, переводчики — их работу можно 100% автоматизировать, так что этим людям тоже нужно постепенно менять профессию.

Вряд ли нейросети захватят мир так быстро, как нас пугают. Государства будут сдерживать наплыв технологий, чтобы люди резко не обнищали. Чем моложе человек, тем сильнее ему стоит присматриваться к сфере IT. Но подчеркну: только при наличии интереса и стремления, иначе ничего не получится.

Куда поступать в 2022 году, чтобы остаться востребованным после выпуска >>

  

#data science #профессии #личный опыт #ии #it

Читайте также: