Спойлер - бросаться во все тяжкие было ошибкой.
Введение
Специализация IBM Data Science попалась мне на глаза, когда идея погрузиться в анализ данных ещё не окрепла в моей голове. Возможно, это сыграло свою роль в моем отношении к обучению.
Она привлекла тем, что заявленный уровень - beginner. Т.е. подразумевается, что для прохождения специализации вам не потребуются какие-либо начальные знания или опыт. Обещают также, что после окончания курсов, у вас будут все необходимые навыки для работы дата аналитиком. Хоть в сам IBM подавайся.
Специализация состоит из 8 курсов + финальный проект. Каждый курс в свою очередь состоит из 3-6 недель обучения и включает тесты и контрольные задания. Язык обучения – английский.
Стоимость: ~2500 руб./месяц. Можно оформить подписку на всю специализацию целиком, а можно проходить каждый курс по отдельности и лишь в конце записаться на специализацию для получения сертификата. В таком случае все пройденные ранее курсы зачтутся автоматически.
О содержании
Итак, что входит в специализацию:
- What is Data Science? Общие слова о data science. Что такое, с чем едят, никаких формул, никакого кода. Самое что ни на есть введение.
- Open Source tools for Data Science - расскажут и покажут то, какими инструментами пользуются аналитики. Самое ценное в этом курсе, наверное, Jupiter Notebook.
- Data Science Methodology - как бизнес-аналитик не могу не согласиться, что правильно поставленная задача – залог успеха. Если не знаешь, какую проблему решаешь, ничего путёвого на выходе не получишь. По полочкам раскладывают методологию анализа данных и объясняют, что не стоит сразу бросаться что-то там программировать.
- Python for Data Science and AI - а вот тут уже все двери открыты. Python значится в главных требованиях, предъявляемых к дата-аналитику. Здесь самые азы и по верхам - типы данных, переменные, циклы, функции. Впервые услышите про библиотеки Pandas и Numpy.
- Databases and SQL for Data Science - по долгу службы иногда сталкиваюсь с SQL на уровне несложных запросов. Возможно, из-за этого курс давался легко. Вторая неделя обучения обозначена как Advanced SQL, но есть подозрение, что в реальном мире advanced одними join’ами и sub-queries не ограничивается.
- Data Analysis with Python. Пре-процессинг данных, основы описательной статистики, дисперсионный и регрессионный анализы. Линейная и полиномиальная регрессии, оценка моделей. Если вы никогда не изучали статистику, будет сложно, несмотря на то, что в теорию особо не углубляются.
- Data Visualization with Python – рассматривают библиотеки для визуализации данных - matplotlib, seaborn, folium. Графики, гистограммы, картограммы, облаки слов и т.д. Этот и последующие курсы внезапно становятся уровня Intermediate. И это ощущается с первых уроков. Например, пришлось долго осознавать сам факт того, что в архитектуре matlpotlib 3 слоя.
- Machine Learning with Python – то самое машинное обучение. Рассказывают про различные алгоритмы машинного обучения – линейную и логистическую регрессии, деревья принятия решений, KNN (К-ближайших соседей), метод опорных векторов, метод k-средних.
- Applied Data Science Capstone – финальный проект. Выбираете тему для исследования (можно из предложенных, можно свою оригинальную) и проводите полноценный анализ, применяя все полученные знания.
Наблюдения и итоги
Все курсы дают начальные и очень поверхностные знания. Очень часто мелькала фраза «this is not in scope for this course». Вы как-будто посмотрели тизер-трейлер к фильму – несколько кадров сюжета и пара фраз. И тем не менее, вы уже понимаете, о чем будет фильм и захотите ли вы его посмотреть или нет.
Первые 6 курсов действительно для начинающих. Лабораторные работы на 75% уже предзаполнены, вам предлагается по аналогии попробовать написать пару примеров. Контрольные проверочные задания в свою очередь являются аналогами лабораторных.
По моим ощущениям, после шестого курса (Data Analysis with Python) надо было остановиться. Между ним и 7 (и последующими) ограмная пропасть в знаниях. Еще вчера вы одной строкой кода получали параметры уравнения линейной регрессии, а сегодня вам предлагают понять вот это, например.
Для меня – too much, если честно.
Надо было брать паузу. Большую такую паузу и идти разбираться с теорией и python-ом как языком в целом. Без всего этого последние курсы давались очень тяжело, а проверочные задания выполнялись "на авось" без особого понимания, что мой код вообще делает. А уж сдать финальный проект стоило мне больших нервов, десятков кружек кофе и многочасовых поисков ответов на stack overflow.
В итоге полезность от всего этого свелась к минимуму. Что-то в голове отложилось, конечно, но в целом, картинка не собралась. До трудоустройства в IBM далеко еще :) Но как упоминалось в начале, пойти на эти курсы было решением спонтанным. Возможно, будь у меня большее понимание зачем мне это нужно, всё складывалось бы иначе.
В общем, первый блин комом. Но на ошибках надо учиться.