data science с чего начать обучение самостоятельно
Как бы я изучал Data Science, если бы начал пару лет назад, или Руководство по эффективному изучению науки о данных
Когда я только начал своё путешествие к науке о данных, я потратил много времени на то, чтобы понять, с чего начать, что я должен узнать в первую очередь и какие ресурсы должен использовать. За последние два года я узнал несколько вещей, о которых хотел знать раньше, например о том, стоит ли сначала сосредоточиться на программировании или статистике, какие ресурсы я должен использовать для изучения новых навыков, как я должен подходить к изучению этих навыков и так далее. Таким образом, эта статья написана, чтобы дать направления и идеи для тех, кто изучает Data Science.
Оглавление:
Введение
Я предполагаю, что как начинающий дата-сайентист вы захотите полностью понять концепции и детали различных алгоритмов машинного обучения, понятия дата-сайнс и так далее.
Поэтому я рекомендую вам начать с базы, прежде чем вы даже посмотрите на алгоритмы машинного обучения или приложения для анализа данных. Если у вас нет базового понимания математического анализа и интегралов, линейной алгебры и статистики, вам будет трудно понять лежащую в основе различных алгоритмов механику. Точно так же, если у вас нет базового понимания Python, вам будет трудно воплотить свои знания в реальных приложениях. Ниже приведен порядок тем, которые я рекомендую изучить:
1. Математика и статистика
Как и во всём остальном, вы должны изучить основы, прежде чем приступать к интересным вещам. Поверьте, мне было бы гораздо легче, если бы я начал с изучения математики и статистики, прежде чем приступать к каким-то алгоритмам машинного обучения. Три общие темы, которые я рекомендую посмотреть, — это математический анализ/интегралы, статистика и линейная алгебра (без какого-то порядка).
Интегралы
Интегралы важны, когда речь заходит о распределении вероятностей и тестировании гипотез. Хотя вам не нужно быть экспертом, в ваших же интересах изучить основы интегралов. Первые две статьи предназначены для тех, кто хочет получить представление о том, что такое интегралы, или для тех, кому нужно просто освежить знания. Если вы абсолютно ничего не знаете об интегралах, я рекомендую вам пройти курс Академии Хана. Наконец, вот ссылки на ряд практических задач, чтобы отточить навыки:
Статистика
Если и есть какая-то тема, на которой вы должны сосредоточиться, то это статистика. В конце концов, дата-сайентист — это действительно современный статистик, а машинное обучение — это современный термин для статистики. Если у вас есть время, я рекомендую вам пройти курс Джорджии Тек под названием «Статистические методы», который охватывает основы вероятности, случайные величины, распределение вероятностей, тестирование гипотез и многое другое. Если у вас нет времени посвятить себя этому курсу, я настоятельно рекомендую посмотреть видео Академии Хана по статистике.
Линейная алгебра
2. Основы программирования
Точно так же, как важно фундаментальное понимание математики и статистики, фундаментальное понимание программирования сделает вашу жизнь намного проще, особенно когда речь заходит о реализации. Поэтому я рекомендую вам потратить время на изучение базовых языков — SQL и Python, прежде чем погружаться в алгоритмы машинного обучения.
Не важно, с чего начинать, но я начал бы с SQL. Почему? Его легче изучить и полезно знать, если вы заняты в компании, которая работает с данными, даже если вы не дата-сайентист.
Если вы новичок в SQL, я рекомендую ознакомиться с туториалами Mode по SQL, так как они очень лаконичны и подробны. Если же вы хотите изучить более продвинутые понятия, посмотрите список ресурсов, где вы можете изучить продвинутый SQL.
Ниже приведены несколько ресурсов, которые вы можете использовать для практики SQL:
Python
Я начинал с Python и, вероятно, останусь с этим языком до конца жизни. Он далеко впереди, с точки зрения вкладов в Open Source, и его легко изучить. Не стесняйтесь обращаться к R, если захотите, но у меня нет никаких мнений или советов относительно R. Я обнаружил, что изучение Python с помощью практики гораздо полезнее. Тем не менее, пройдя несколько краш-курсов Python, я пришёл к выводу, что этот курс наиболее полный (и при этом бесплатный!).
Pandas
Пожалуй, самая важная библиотека, которую нужно знать, — это Pandas, которая специально предназначена для манипулирования данными и их анализа. Ниже приведены два ресурса, которые должны ускорить ваше обучение. Первая ссылка — туториал о том, как использовать Рandas, а вторая ссылка содержит множество практических задач, которые вы можете решать, чтобы закрепить свои знания!
3. Алгоритмы и понятия машинного обучения
Если вы дошли до этой части статьи, это означает, что вы построили свой фундамент и готовы изучать интересные вещи. Эта часть разделена на две другие: алгоритмы машинного обучения и понятия машинного обучения.
Алгоритмы машинного обучения
Следующий шаг — изучить различные алгоритмы машинного обучения, как они работают и когда их использовать. Ниже приведён неполный список различных алгоритмов машинного обучения и ресурсов, которые вы можете использовать для изучения каждого из них.
Понятия машинного обучения
Кроме того, есть несколько фундаментальных понятий машинного обучения, которые вы также захотите изучить. Ниже приведён (не исчерпывающий) список понятий, которые я настоятельно рекомендую изучить. Многие вопросы интервью основаны на этих темах!
4. Проекты в области дата-сайнс
К этому моменту вы не только построите прочный фундамент, но и обретёте твёрдое понимание основ машинного обучения. Теперь пришло время поработать над личными сайд-проектами. Если вы хотите ознакомиться с некоторыми простыми примерами проектов дата-сайнс, посмотрите некоторые из моих проектов:
Я надеюсь, что этот пост даст вам направление и поможет в вашей карьере в области Data Science. Нет никакой серебряной пули, так что не стесняйтесь относиться к этому посту скептически, но я действительно верю, что изучение основ принесёт свои плоды в будущем. А промокод HABR — добавит 10% к скидке на обучение, отраженной на баннере.
Ничего не понятно, но очень интересно: как начать карьеру в Data Science без профильного образования
Считается, что Data Science — это очень сложное направление, в котором обязательно нужны математические знания и техническое образование. Это верно только отчасти: внутри Data Science есть сайентисты, аналитики и инженеры. У них разные задачи и им нужен разный бэкграунд. О том, на кого легче выучиться гуманитарию, что нужно знать, чтобы войти в новую специальность и можно ли стать хорошим аналитиком данных без профильного опыта, рассказывает преподаватель GeekBrains, Data Analyst с уклоном в Data Engineering Никита Васильев.
В Data-Science (по крайней мере, в крупных компаниях) работают не только Data-сайентисты, но и аналитики с инженерами. Это разные профессии, для которых нужны разные знания и навыки. Например, если банку нужно определить, какой клиент вернёт кредит, а какой нет, аналитик найдёт источники данных для анализа. Он исследует их доступность, а результаты передаст инженеру. Тот обработает эти данные для сайентиста, приведёт их в нужный вид и формат. Сайентист, в свою очередь, будет решать задачи бизнеса. Получив данные от инженера, он переведёт их на математический язык и найдёт метрику для измерения проблемы. Именно этот специалист может посчитать, с какой вероятностью клиент вернёт кредит, построив модель из данных. После этого сайентист передает её обратно аналитику. Тот с помощью AB-тестов и других методов оценит эффективность модели и её статистическую значимость, а в конце проекта аналитик визуализирует полученные данные в виде графика или других наглядных материалов. Он презентует результат руководству и объяснит свои выводы.
Что нужно знать аналитикам, инженерам и сайентистам
Из этих трех профессий в Data Science углублённо разбираться в математике должен только сайентист. Data-инженеру достаточно школьной базы, но нужно знать программирование и фреймворки, уметь читать документацию. Ещё не помешает владение понятиями нормального распределения, отклонения, понимать теорию вероятности на очень базовом уровне и знать основы статистики. Иногда людям кажется, что это скучная профессия, но если вы любите читать, изучать документацию, то Data-инженер — очень интересная специальность.
Data-аналитику важнее всего софт-скиллы — разговорные навыки, умение вести документацию и процессы в Jira. Этот специалист делает вспомогательную работу в Data Science, поэтому на базовом уровне ему тоже стоит понимать теорию вероятности и статистику. Но на работе эти знания ему могут и не пригодиться. Всё зависит от специфики компании, в которую он устроится. Но точно понадобится понимание бизнеса, того, как там всё устроено, какие есть боли, задачи и проблемы.
Data Scientist действительно должен хорошо разбираться в математике: чтобы строить модели, нужно понимать, как они работают. Например, он должен знать, чем можно пренебречь, чтобы модель построилась быстрее, как её использовать и подать данные. Работать с ними, как с черным ящиком — нельзя.
Некоторые думают, что Искусственный интеллект — это отдельное направление, специальность внутри Data Science. На самом деле, это просто определенные алгоритмы, которые в него заложены. Сайентист получает модель в результате их применения. Если модель умеет предсказывать какое-то значение, расшифровывать речь, вести диалог или распознавать изображение — это и есть искусственный интеллект.
ИИ занимаются специалисты по компьютерному зрению и обработке естественного языка (Natural Language Processing). Требования к этим специалистам аналогичны тем, что предъявляются к сайентистам, но вдобавок нужны знания про направление, которым они занимаются. Тем, кто занимается компьютерным зрением важно понимать, как работают алгоритмы по распознаванию видео и картинок, владеть С++. Специалисты по NLP должны знать Python.
Как учиться на Data Science
Стать специалистом в Data Science можно с любым (даже гуманитарным) бэкграундом, было бы желание. Моя сестра — студентка, учится на социолога. Сейчас она проходит курсы по SQL и Python, хочет стать аналитиком данных. Я ей рассказываю что нужно знать, на каком уровне и зачем. Она отлично справляется.
Глубокие знания статистики или теории вероятности потребуются далеко не всем: это зависит от компании. Аналитики ищут источники, находят данные, соединяют их, а затем передают заказчику. Это львиная часть их работы. Вторая часть — умение разговаривать с коллегами. Никакая математика здесь не нужна, главное — научиться пользоваться языком запросов для БД. Достаточно понять логику и уметь правильно её описать.
Самостоятельно овладеть профессией из Data Science сложно. Нужно много работы, практики, придётся потратить массу времени. Курсы позволяют сделать это гораздо проще и быстрее, так как есть готовая программа, наставник, который отвечает на вопросы, помогает и даёт обратную связь.
Проблема самостоятельного обучения — обилие источников, часто слишком сложных или ошибочных. Обычно в профессиональной литературе публикуют информацию не для новичков, а для людей с опытом. В ней будет много терминов и слишком глубокое погружение в область. У меня так было с первым учебником: я его открыл и вообще ничего не понял. Продирался через дебри неизвестной мне терминологии — «бустинг», «линейная регрессия». Начинаешь читать — куча слов, значения которых не знаешь. В результате новички путаются, стартуют не с того, накапливают ошибочные или неправильные знания. На курсах информацию для вас структурируют и она всегда будет корректной.
Как облегчить обучение Data Science
Главная проблема для тех, кто решает учиться на Data-аналитика — незнание, с чем придется столкнуться и что с этим нужно делать. Чтобы определить, подходит ли вам Data Science, посмотрите на YouTube-ролики, авторы которых рассказывают, чем занимаются и какие навыки нужны, чтобы справляться с обязанностями. На первом этапе это поможет сложить представление о профессии. Не стесняйтесь писать авторам этих видео или расспрашивать своих знакомых, уже работающих в этой сфере.
Как бы вы не решили учиться, сами или на курсах, начиная обучение, обязательно почитайте, на какое направление идёте и какие знания вам нужны. Советую открыть вакансии на HeadHunter и прочитать требования. Составьте список навыков и по нему начинайте изучать специальность. В сети всё есть — документация, курсы по Data Science, статьи, видео.
Выбирайте литературу, с которой вам комфортно работать. Есть очень разнообразные варианты — и поверхностные, и углубленные. Легче будет тем, кто пришел из математических специальностей: у них было много статистики и теории вероятности. Есть бэкграунд, есть знания, которые нужны. Но если этих знаний нет — их не проблема быстро нагнать при желании.
Если вы заинтересованы в результате, найти время на учебу несложно. Посмотрите вебинар вместо фильма, решайте задачи, пока едете в метро. Устали — почитайте обзорные материалы. Если есть возможность, изучайте темы посложнее.
Самое трудное — не бросить. Это актуально и для курсов, и для самостоятельного обучения. Начинать учить что-то новое всегда сложно и важно соблюдать баланс. Занимаясь по 8 часов в сутки, вы перегрузите себя, испугаетесь обилия информации, быстро выгорите и бросите. Лучше обучаться планомерно: понемногу, но каждый день. Можете выделить два часа — занимайтесь два часа. Можете 15 минут — занимайтесь 15 минут. Главное — не забрасывайте и возвращайтесь к учёбе каждый день.
Ко мне на курс приходят учиться разные люди:
Самоучки, которые хотят структурировать знания, которыми обладают, получить базу и развиваться профессионально.
Те, кто пришли из IT, но хотят переквалифицироваться.
Те, кто пришли из совсем другой сферы, так как хотят сменить профессию.
Студенты технических и гуманитарных факультетов, которые хотят получить вторую специальность.
Я учу студентов строить модели на основе линейной регрессии, градиентного бустинга, дерева решений и делать на этой основе выводы. Все задачи взяты из реальных бизнес-кейсов. Например, в конце обучения ребята сдают итоговый проект. В формате соревнования нужно пройти все этапы работы с данными, построить модель и предсказать стоимость домов по датасету. Для этого задания есть лидерборд, в котором каждый студент может видеть, как он справился со своей задачей по сравнению с теми, кто проходил курс раньше. Бывает, что человек стесняется спрашивать. Если что-то непонятно, но кажется, что вопрос глупый, лучше его задать, чем упустить возможность и не усвоить материал.
Приходя на курсы, большинство студентов облегченно выдыхает. У них наконец начинает складываться представление о профессии, её методах и задачах. А практикуясь, они понимают, что работа им под силу. Есть и те, кто разочаровывается. В основном это те, кто приходит в Data Science с нуля из-за денег и не хочет вникать в детали. Когда таким людям приходится писать много кода, они разочаровываются. Но по-другому учиться не получится. Нужно трудиться, выполнять практические задания. Если готов работать, будет легко.
Я пришел в Data Science с физического факультета. Из базы у меня были знания статистики и теории вероятности, но я ничего не знал о программировании. Учился сам — смотрел курсы на Youtube, читал книги.
Без практики выучиться на профессию невозможно. Если решили обучаться своими силами, обязательно используйте тренажеры типа SoloLearn, чтобы набивать руку на кодинге. Научившись решать абстрактные задачи, вы сможете решать и реальные.
Некоторые скачивают простой датасет, строят несложную модель по шаблону и считают, что они полностью разобрались в теме. На самом деле этого мало и не хватит для работы — в Data Science можно разбираться всю жизнь и не получить даже половины знаний.
Чтобы было понятнее, вот пример задачи из моей работы. Нужно построить модель, которая измеряет эффективность сотрудника на основе данных: стажа, пола, возраста, того, как он проходит сертификации и тесты на знание продукта внутри организации. Отталкиваясь от этих данных моя команда построила модель, которая с высокой финансовой точностью предсказывала, выполнит ли сотрудник план к концу следующего месяца. Выявление таких людей позволяет на них влиять. Руководитель может прорабатывать с ними проблемы и добиться улучшения производительности. Такого рода задачи мы и решаем в Data-Science.
Зачем в Data Science программирование и Excel
Если вы уже знаете какой-то язык, будет легче. В Data Science используют Python, но у всех языков программирования есть общие паттерны. Из Python понадобится умения соединять таблицы, группировать, работать с аналитическими функциями. Также стоит изучить некоторые библиотеки. Для работы с массивами данных это NumPy, Pandas и Matplotlib для их визуализации. Ещё пригодятся TensorFlow и Keras — это готовые библиотеки с алгоритмами машинного обучения.
Частый вопрос — нужны ли для работы в Data Science глубокие познания в Excel. На самом деле, да. Хотя без Excel и можно обойтись, некоторые задачи в Python придётся делать гораздо дольше.
Например, если аналитик подготовит простой график в таблице, он потратит на это меньше времени, чем если будет писать его на Python. Единственная проблема Excel в том, что он начинает медленно считать, если в таблице больше полумиллиона строк. Пользоваться макросами в Excel сейчас не стоит: Python удобнее и быстрее.
Бывает, что процессы уже написаны на макросах, и тогда переводить их на Python — пустая трата времени. Многие компании не хотят этим заниматься, поэтому бывает, что специалистам приходится поддерживать эти технологии.
Резюмируя, Excel в Data Science знать нужно как минимум на уровне формул, графиков и сводной таблицы. Тем более, в вашей компании многие будут знакомы с Excel, но ничего не знать про Python.
Если вы аналитик, у вас много раз возникнет ситуация, когда нужно быстренько выгрузить данные в Excel и отдать коллегам, чтобы они их посмотрели.
Как устроиться на работу без «вышки»
Первое место найти тяжело. Вам может потребоваться полгода или даже год. Начинать её искать стоит сразу после учебы — обязательно такую, где будет обратная связь. В одних компаниях это код-ревью, в других — ментор. Он проверяет, какими методами джун решил задачу, правильно ли, подсказывает более лаконичное и красивое решение.
Пока ищите, есть смысл продолжать практиковаться. Это не сложно: сами для себя находите датасеты и решайте какие-то задачи. Например, можно оценить количество людей в городе возрастом от 45 до 70 лет. Затем сделать модель, которая определит долю этой возрастной группы среди покупателей хлеба или посмотреть, какие продукты они берут в магазинах чаще всего. Ставьте себе подобные задачи и решайте их всё время поисков.
Если вы хотите попасть на работу в определенную компанию, а вас туда не берут из-за отсутствия опыта, расстраиваться не стоит. Можно попробовать поработать полгода в другом месте, а затем, получив опыт, попытаться еще раз.
Открою секрет: устроиться джуном проще, чем попасть на стажировку в крупную компанию. Там настолько серьёзный отбор, что порой кандидаты по скиллам бывают выше джуниоров.
Главное на собеседовании — вести себя адекватно, не замыкаться, откликаться, если тебе пытаются помочь или подсказать. Идти на контакт, показывать свою обучаемость.
На профильное высшее образование в резюме смотрят только у новичков без опыта. Если на работу пришли устраиваться два таких кандидата, возьмут того, что с дипломом. Еще смотрят на профильные курсы, сертификаты, если уже сталкивались и есть доверие к какой-то школе.
Главное — опыт, если он есть, образование неважно. Будут задавать технические вопросы и смотреть на прошлые места работы. Можете рассказать о проектах: что делали, как решали задачи и какими методами. Этого для собеседования достаточно.
Из софтскиллов смотрят на умение общаться и работать в команде. Для Data Science это важно, чтобы правильно выстраивать рабочий процесс. Однажды я был сотрудником компании, где мы перекидывались одной фразой за весь день, в других же местах мы целый день о чем-то говорили. Важно не бояться спрашивать у коллег и наставников. Это единственный путь быстро прокачаться в профессии.
После неудачных собеседований я никогда не стеснялся задавать вопросы о том, чего мне не хватило. На всякий случай возьмите у технического специалиста, который с вами говорил, контакты, чтобы задать этот вопрос, если вам откажут. HR оставит стандартный ответ и вы не узнаете, что именно было не так. Например, устраиваясь на работу, я видел, что везде нужен SQL. Когда не справился с собеседованием, попросил поделиться материалами. В итоге мне посоветовали сайт SQL-ex и я там его осваивал.
В практике моего друга была ситуация, когда он хотел переквалифицироваться в Java-разработчика, пошел на собеседование и завалил его. Он спросил, где не дотянул; ему посоветовали книгу. Сказали, если изучишь — приходи через полгода и попробуй снова. В итоге его действительно взяли на работу в ту же компанию.
Если хотите получить большое конкурентное преимущество, есть смысл поизучать статистику и теории вероятности, чем глубже, тем лучше. Можно даже взять пару уроков у репетитора.
Не расстраивайтесь, если собеседование не удалось. Любая оценка очень субъективна. Даже если в одном месте сказали, что профессия «не ваше», в другом ваш опыт может быть ценен. Чем больше собеседований вы пройдете, тем легче они будут даваться. С какого-то момента страх уйдет совсем. Встречи с работодателями — это полезно. Они локализуют те знания и скиллы, которых вам не хватает и позволяют не останавливаться.
Курсы и книги для изучения data science c нуля
В статье привожу курсы и книги, которые мне кажутся наиболее оптимальными для изучения машинного обучения/data science c нуля. Стараюсь привести список, который будет наиболее кратким и одновременно даст все знания, необходимые для начала работы на практике, без серьезных пробелов в знаниях.
Disclaimer
Понять исходя из чего составлены данные рекомендации можно прочитав предыдущие статьи, в которых описаны мой путь и принципы самообучения, а также общие соображения о том, как выстраивать этапы обучения:
Рекомендации данной статьи будут устаревать, и наверняка, и сейчас существуют отличные курсы и книги, которые могли бы в него входить. Но это, как минимум, одни из лучших материалов по своим темам. Для подготовки данного списка были отброшены десятки курсов и книг, которые тоже нацелены на обучение с нуля, но хуже излагают фундаментельные концепции.
Не привожу материалов о нейронных сетях потому что, в большинстве случаев, считаю неэффективным начинать изучение с них, или изучать их на ранних этапах самообучения.
Необходимые базовые навыки
Знание основ программирования: Python и SQL
Невозможно заниматься машинным обучением или data science не владея программированием в Python или R (Начинать лучше с Python). Также, подавляющее большинство вакансий в «классическом» машинном обучении (решение бизнес-задач, и работа с изначально числовыми/статистическими данными) потребует знание SQL. Базовые рекомендации по их изучению есть в статье Самообучение в Data science, с нуля до Senior за два года.
Математика
Также невозможно стать хорошим специалистом без достаточного уровня математики. Но, мне кажется, эффективнее изучать математику постепенно, предварительно знакомясь с теми целями в которых она применяется.
Тем не менее, есть определенный минимально-необходимый базовый уровень: понимание производных (школьная программа алгебры), понимание градиентного спуска (градиент, обычно, объясняют в начальных курсах математического анализа в университете, и объяснение есть также в курсах о машинном обучении), знания основ дискретной математики, теории вероятностей и статистики.
Основы теории вероятностей неплохо объяснены в специализации: Математика для анализа данных. Необходимый минимум теории вероятностей дан в последнем курсе специализации, который не требует знаний из 2 и 3 курсов. Курсы 2 и 3 дают знания, полезные для понимания градиентного спуска и для изучения нейронных сетей и некоторых других методов машинного обучения. По указанным темам мне очень нравится англоязычная специализация Math for machine learning, от London Imperial College.
Если у вас проблемы с пониманием производных и пределов (школьная программа, самые продвинутые её темы), то, если понимаете английский: крайне рекомендую все курсы от Robert Ghrist. Более интуитивное и наглядное объяснение математики я вообще не встречал. На русском поищите курсы на coursera.org, также неплохие бесплатные курсы по математике есть на stepik.org
Начальный уровень
Книги и статьи, рекомендуемый минимум
Данные статьи и курс дают отличные базовые знания и навыки для изучения основ машинного обучения. Также в статьях дан хороший список дополнительных материалов. По данным статьям существуют также лекции (лекции я не смотрел, т.к. статьи, субъективно, намного эффективнее). Для меня данные материалы стали отличным дополнение к он-лайн курсу Воронцова (ниже). Освоив курс и данные статьи долгое время мне хватало только отработки навыков применения данных методов, не изучая ничего сверх них. В этих статьях — тему 8 можно смело пропустить, по теме 2 — больше смотрите на seaborn и имейте в виде что синтаксис команд данных библиотек уже устарел (полезно научиться пользоваться официальной документацией, чтобы понять как такие вещи делать на практике).
Но, потенциально, эта книга может заменить оба источника выше. Или можно прочесть то же самое, другими словами, и закрепить материал.
Дополнительные печатные источники
Отмечу, все книги, написанные на английском, я изначально читал в оригинале. Не могу ручаться за качество перевода. И настоятельно рекомендую попробовать их осилить в оригинале, т.к. это даст необходимый уровень знаний языка, для чтение документации к программным библиотекам, которые придется использовать для использования данных методов. Подобная документация на русский вообще не переводится. Подобный базовый уровень получить легче, чем кажется.
Курсы
Необходимый минимум
Важно понимать в каких рамках можно доверять прогнозам, полученным разными моделями.
Альтернативные курсы
Возможно, курс Воронцова потребует сразу слишком много базовых или дополнительных знаний (умения работать с jupyter, pandas). В этом случае, возможно, проще будет сначала пройти следующую комбинацию курсов. Также, в чём-то специализация от Яндекса будет подробнее.
Специализация от Яндекс «Машинное обучение и анализ данных» (Если записываться на отдельные курсы и в последней форме при записи выбрать вариант «только аудит» то все занятия можно просмотреть бесплатно). В 3 курсе специализации,на первом этапе, можно осваивать только 1 неделю, о кластеризации. Остальные темы сложнее, и могут не пригодиться в первое время; можно просмотреть наискосок. Весь 4 курс, по началу погружения в специалиность, рекомендую просмотреть, чтобы было общее представление, но не обязательно досконально разбираться.. Эти вещи легко забываются, и не всем встречаются на пратике.
Отработка базовых навыков
Kaggle полезен сразу несколькии вещами: можно посмотреть разные реальные (и не очень) задачи, решаемые с помощью машинного обучения, и изучить пути решения, которые применяют другие спецалисты (и на этом сайте соревнуются в своих навыках в т.ч. топовые специалисты мировго уровня). У них также есть хорошие бесплатные мини-курсы по разным темам, в рамках которых, в том числе, можно отработать навыки на тестовых задачах.
Обязательно следует ознакомиться с документацией
В статьях сообщества ODS (см.выше) дано множество ссылок на дополнительные источники. Рекомендую с ними ознакомиться. Также, через сайт сообщества можно найти видеозаписи многих семинаров, в которых также иногда рассматриваются очень полезные и фундаментальные темы. Например, мне были полезны все выстпления от основателя сообщества, Алексея Натенкина (прогнозирование временных рядов, еще пример)
Разные смежные концепции, которые необходимо знать
С большой долей вероятности, если вы будете делать какой-нибудь сравнительный анализ различных групп (рекламных компаний, поведения людей и т.п.) вам придется столкнуться с парадоксом Симпсона (отличное видео). Важно отточить его понимание, т.к. от его последствий необходимо защищася, и даже зная о нём, я не всегда осозновал что встречаюсь с ним в практике.
Другие полезные книги/ материалы
Куча англоязычных статей по использованию разных библиотеке, в основном очень начального уровня, регулярно публикуется на сайте https://towardsdatascience.com; до 3 статей в месяц можно читать бесплатно.
Необходимые технические знания
Что я упустил?
Готов выступить ментором в самообучении
Посчитав, что мой опыт самообучения и быстрый рост доказывают эффективность отобранных мной подходов, книг и курсов, я решил заняться менторством.
В результате такого общения некоторые поняли, что им лучше уйти в другую сферу (программирование, биг дата), некоторым я смог скорректировать учебный/карьерный план под индивидуальные потребности, кому-то я посоветовал тех, кто сможет помочь лучше меня, а кого-то спас (?) от неэффективной траты времени на тупиковые проекты (решение задач в машинном обучении, без понимания принципов машинного обучения).