Из журналиста в дата-сайентиста. Самоизоляция - с умом
(10686 просм.)
В ноябре этого года я бесплатно прошел трехнедельные платные курсы "Основы Python для анализа данных" Корпоративного университета Сбербанка в рамках проекта "Персональные цифровые сертификаты". По итогам обучения решил подробно написать о том, как благодаря государству я из журналиста обучился на востребованную ИТ-профессию специалиста по анализу больших данных.
Говорят, что пандемия вызвала в обществе массовый психоз. Люди не знают, как себя успокоить и чем занять, массово скупают продукты и лекарства, злоупотребляют алкоголем. По моему опыту, из сложных жизненных ситуаций с пользой можно выйти тремя способами: погрузится с головой в работу, хобби, или учебу. Поскольку с хорошо оплачиваемой работой на этом жизненном этапе было не очень, с наступлением режима самоизоляции решил погрузиться в учебу, надеясь по итогам на положительные изменения в жизни. Благо, пандемия давала возможность учиться. Многие образовательные онлайн-ресурсы стали предоставлять бесплатный доступ к базовым курсам, в том числе, по направлениям, которые мне были интересны. А заинтересовался я программированием на языке Python и Data Science - самым востребованным ИТ-направлениям современности.
Весной и летом мне удалось пройти несколько вводных курсов по Python на GeekBrains и Stepik, но на курсы по анализу больших данных открывать бесплатный доступ никто не торопился.
В октябре этого года на одном из официальных онлайн-ресурсов узнал о том, что с 15 по 30 ноября на сайте цифровойсертификат.рф можно будет записаться на бесплатное обучение в рамках госпрограммы повышения квалификации по одному из 20 востребованных в цифровой экономике направлений.
В рамках проекта государство безвозмездно предоставляло гражданам старше 18 лет, не достигшим пенсионного возраста, имеющим среднее профессиональное и/или высшее образование, зарегистрированным по месту жительства в одном из регионов-участников проекта и желающим сменить деятельность "Цифровой сертификат" в размере 30 т.р., позволяющий пройти онлайн - переобучение на востребованную в контексте цифровой экономики современную специальность на базе одного из ВУЗов - участников проекта.
Длительность программы повышения квалификации – от 72 академических часов в дистанционном или электронном формате. Стоимость обучения возмещается образовательной организации из средств федерального проекта "Кадры для цифровой экономики".

Для подачи заявки надо было пройти на сайте регистрацию и прислать копию своего диплома о ВО. Поскольку у меня их два, прислал копию последнего ("Финансы и кредит").
Как выяснилось, на участие в проекте поступило 112 тысяч заявок из 48 регионов, в том числе 1195 - из Чувашской Республики. При этом, было запланировано выдать 33 000 персональных цифровых сертификатов.
Видимо, мне повезло, и я попал в число этих 33000 счастливчиков.
По электронной почте мне сообщили, что я получил цифровой сертификат и могу им воспользоваться. Для этого я был перенаправлен на сайт https://steps.2035.university/

Чтобы пройти обучение, мне надо было осилить пять этапов:
1) Заполнить регистрационную форму и анкету;
2) Указать цель профессионального развития (указал: "Переход в новую профессию, получение работы в новой области");
3) В случае если заявка будет одобрена, можно будет войти в каталог курсов и выбрать образовательную программу;
4) Пройти обучение;
5) Представить отчет (рефлексию) по итогам обучения.
Поскольку я уже некоторое время осваиваю популярный ныне язык программирования Python для того, чтобы приблизиться к одной из самых востребованных и высокооплачиваемых ИТ-профессий - дата-сайентиста, решил поискать в каталоге курсы по этому направлению . Хотя, честно говоря, глаза разбегались от разнообразия возможностей и тем для развития.

В Каталоге программ было доступно 425 курсов продолжительностью не менее 72 академических часов от 112 образовательных организаций из 36 регионов РФ.
Из них по теме "Большие данные" было представлено 36 курсов, а по теме "Искусственный интеллект" - 29 курсов.
Сперва я выбрал курс "Аналитик данных: основы профессии" от Нетологии. Судя по описанию, он показался мне самым исчерпывающим по теме. Но записаться на него мне не удалось. При нажатии на кнопку выходило сообщение об ошибке. Я даже было решил, что "цифровой сертификат" не действует и по условиям ресурса "Университет 2035" я должен достичь III уровня подготовки, чтобы иметь шанс зарегистрироваться на курсе. По умолчанию дается I уровень, и чтобы получить III-й, надо сперва окончить множество бесплатных курсов, доступных в каталоге сайта.

После общения с коллегой, успешно зарегистрировавшемся на актуальном курсе по вебдизайну в рамках проекта "Цифровые сертификаты", через пару дней решил снова зайти на сайт и попробовать зарегистрироваться на другом курсе. Выбрал "Основы Python для анализа данных" от АНО ДПО "Корпоративный университет Сбербанка" (https://cat.2035.university/rall/course/6613/)
И о чудо, регистрация прошла и меня перекинуло на сайт "Виртуальная школа" Сбербанка (https://.sberbank-school.ru/)!
После входного тестирования (очень простые вопросы по теме) мне снова предлагалось пройти несколько шагов:
Шаг 1. Подписать и передать СберУниверситету договор.
Шаг 2. Пройти обучение и успешно сдать итоговое тестирование.
Шаг 3. Предоставить отчет (рефлексию) по итогам обучения.
Пришлось распечатать, подписать, сфотографировать и отправить через форму сайта заполненный договор об обучении.
И наконец, мне открылся раздел сайта с Модулями и темами курса. Курс состоит из двух модулей.
Вводный модуль "Основы Python" состоит из 17 тем по основам Python и объектно-ориентированного программирования на нем.
Почти каждая тема вводного модуля завершается домашним заданием, которое просто надо выполнить самостоятельно, но не требуется никуда отправлять результат.
В конце первого модуля необходимо пройти итоговое тестирование по основам Python.
Второй модуль "Python для анализа данных" в объеме из 17 тем дает основы работы с пакетами pandas и numpy, раскрывает возможности pandas для анализа больших данных, а также знакомит с методами визуализации данных при помощи пакета matplotlib.
В конце второго модуля необходимо выполнить две практических домашних работы и пройти итоговое тестирование.

Я поставил себе задачу за каждый вечер проходить не менее двух тем, чтобы заранее, до 25 ноября, успеть завершить обучение. (К слову, в итоге, такими темпами я завершил его 21 ноября).
Первый модуль был исполнен в виде обычных веб-страниц с лекциями по темам. Иногда мне удавалось пройти три темы за вечер. При этом я сохранял в PDF все пройденные материалы.
Итоговое тестирование по основам Python можно было пройти за несколько попыток (2, или даже 3) с проходным результатом 80%. На попытку дается полтора часа. Я слету прошел тестирование за 10 минут, успешно ответив на все 35 не сложных, но требующих внимания вопросов типа "Чем отличаются set и frozenset?".
Второй модуль был намного сложнее и интереснее. Хотя я был немного знаком с библиотеками numpy, pandas и matplotlib, здесь мне пришлось немного "напрягать мозги".
Следующий модуль был оформлен уже в виде видеокурса с текстовыми стенограммами видео, а также пакетом из 7 файлов jupyter notebook, для оффлайновой работы с которым надо было скачать и установить на своем компьютере огромный бесплатный пакет Anaconda, либо просто доустановить в Python через менеджер пакетов PIP библиотеки numpy, pandas, matplotlib и jupyter notebook. Я пошел вторым путем, т.к. и Python, и библиотеки уже были установлены на моем ПК.
В ходе обучения я также старался сохранить темп изучения по 2 темы за вечер, но теперь мне чаще приходилось останавливаться, переваривать увиденное и остужать мозги чаем. Таким образом, двадцатиминутное видео по каждой теме я изучал с проверкой на практике не менее чем за час.



Самой интересной, сложной, и пожалуй, наиболее полезной частью второго модуля оказались домашние работы. Первая работа состояла из восьми заданий, а вторая - из 6, но значительно более сложных. Уже бегло прочитав первые задания домашней работы №1, я было слегка "напрягся": я никогда близко не сталкивался с подобными задачами. Но вдумчиво прочитав задания, последовательно и попунктно подойдя к их решению, я понял, что все задания мне по зубам и объем знаний курса вполне позволяет с ними справиться. Справиться с домашними работами мне также помогло беглое прочтение книги "Python и анализ данных" от создателя Pandas Уэса Маккинли и его совместной с коллегами бесплатной электронной книги "pandas: powerful Python data analysis toolkit" (https://pandas.pydata.org/docs/pandas.pdf).
Задания были на чтение и первичный анализ табличных данных из csv-файлов с обезличенными транзакционными банковскими данными (более 8,5 миллионов транзакций) и несколькими таблицами расшифровки типов данных в столбцах. Предстояло подготовить сводный массив (Pandas DataFrame), содержащий "всего" миллион строк, и начать его изучать.
Одно из типичных заданий звучало так:
"1. В датафрейме transactions задайте столбец customer_id в качестве индекса.
2. Выделите клиента с максимальной суммой транзакции (то есть с максимальным приходом на карту).
3. Найдите у него наиболее часто встречающийся модуль суммы приходов/расходов."
К слову, это задание можно в идеале решить в две строки!
Сперва я решил его в четыре строки кода.
Первую домашнюю работу я выполнил за один вечер и решил дать передышку в сутки для восстановления ко второй домашней работе.

Вторую домашнюю работу я начал делать пораньше, на свежую голову, чтобы не засиживаться до глубокой ночи. И не зря! Уровень второй домашней работы был намного выше, чем у первой.
Каждое задание состояло уже из нескольких (до 6) пунктов, а также нескольких (до 5) вопросов и охватывало отдельную тему, или даже несколько тем анализа и визуализации данных. Фактически, каждое практическое задание было одним небольшим исследованием, в результате которого я смог из обезличенных банковских транзакий узнать, например, какая из групп клиентов является женщинами или мужчинами и сделать вывод, что количество высоких трат в каждый возможный час у мужчин больше, чем у женщин (т.е., что мужчины в целом тратятся по крупному чаще женщин).
Для этого, кстати, мне пришлось создать тепловую карту на основе сводной таблицы трат (транзакций с минусовыми значениями поля amount), разбив все траты на 5 категорий и сгруппировав их по часам и полу.


Самой волнующей частью обучения оказалась публикация ответов на задания домашних работ. Ошибиться с результатами можно было запросто, а в сети Интернет не было опубликовано правильных вариантов решений (зато, кстати, было много вопросов от обучающихся и несколько не правильных ответов от "знатоков").
В итоге, я успешно подтвердил правильность решений и добрался до заключительной части обучения - итогового тестирования.


Сначала я было решил отложить его на следующий вечер, но немного передохнув, подумал, что стоит попробовать пройти его, пока "запал не иссяк".
Итоговое тестирование, состоящее из 19 вопросов, допускалось пройти за две попытки, на каждую из которых выделялся один час.
В итоге, я прошел тестирование на 100% примерно за несколько минут, т.к. после домашней работы его вопросы показались мне очень легкими.

Мне остался всего один шаг до финала - написать отчет (рефлексию) по итогам обучения и опубливать его на сайте Университета 2035 по ссылке: https://steps.2035.university/pcs
Отчет должен содержать ответы на 3 вопроса:
1) Вспомните и напишите, какие основные предметные области и инструменты рассматривались в рамках данного курса
2) Как вы планируете применять полученные знания и навыки в своей профессиональной деятельности
3) Ваши впечатления и комментарии (что показалось вам не достаточным или не комфортным, сложным для восприятия в рамках курса, что хотели бы добавить с точки зрения содержания).
На все вопросы необходимо было дать ответы максимально полно.
Рефлексия будет принята к зачету на основании решения федерального оператора проекта "Университет 2035".
Финальное решение о выдаче Удостоверения о повышении квалификации в случае успешного принятия рефлексии обещали опубликовать на странице курса после 1 декабря 2020.
Решил перенести написание рефлексии на следующий вечер после итогового тестирования. А днем мне предлагалось поучаствовать в вебинаре участников курса Сбербанка, где можно было получить ответы на вопросы. Ссылку на вебинар я так и не получил и не смог принять в нем участие, но позже мне все-таки прислали ссылку на запись вебинара. Из него я получил ощущение, что большинство участников еще не справились с домашними заданиями, сетовали на то, что как-бы двухмесячный курс приходится проходить за две недели и что он слишком сложный. Организаторы при этом просили пройти итоговое тестирование до 23 ноября и не оставлять его на последнюю дату, чтобы не создавать проблем для работы системы. В качестве бонуса обещали тем, кто справится в срок, открыть до конца года доступ к текущему и бонусному курсу.
Написание рефлексии и заполнение итоговой анкеты заняло у меня больше 15 минут. Я решил подробно описать мои планы по применению полученных знаний (ответ на второй вопрос) и дать несколько рекомендаций по улучшению курса (ответ на 3 вопрос). К примеру, я предложил добавить в курс тему по созданию интерактивных визуализаций результатов анализов данных (дашбордов) на основе библиотеки Plotly. Фактически, именно дашборды являются результатом, за который платят клиенты по анализу данных.
В итоге, рефлексия у меня заняла 33 строки и более 5,3 тысяч символов.

Итогом трех недель увлекательного погружения в мир data science стало удостоверение о повышении квалификации государственного образца, которое я получил 2 декабря в электронном виде.
Не уверен, дает ли оно право считать себя "сертифицированным специалистом по анализу данных". Для этого, я думаю, мне нужно еще многое освоить и применить на практике.
Но я уже точно знаю, что могу обучать основам программирования на языке Python детей и взрослых по Skype вплоть до основ анализа данных, чем и планирую заниматься во время самоизоляции, а возможно, и после пандемии. (Обращайтесь по Skype: Ed_Vazhorov).
А еще я могу личным примером подтвердить, что успешное переобучение в 47 лет на актуальную ИТ-специальность вполне реально и возможно!
На самом деле, я уже начал применять полученные знания на практике - наладил с помощью Python создание для нашего интернет-СМИ оригинальных графиков развития ситуации с распространением коронавируса в регионе на основе публичных данных Яндекс DataLens.


Огромное спасибо государству и Сбербанку за новые, актуальные знания и практический опыт! Надеюсь применить полученные знания на практике, быть востребованным и полезным людям. И спасибо Сберу за дополнительный курс "Основы машинного обучения"! Прошел его с интересом в новогодние праздники... Узнал много нового, о чем, возможно, еще предстоит написать!
Data Science data analyst Big Data Сбербанк Сбер Цифровые сертификаты