MLinside - школа ML – Telegram
MLinside - школа ML
3.51K subscribers
202 photos
18 videos
164 links
Предзапись на 4 поток курса "База ML": https://vk.cc/cQ7AkI
Наши курсы: https://taplink.cc/mlinside
Чат коммьюнити: @ml_insidechat
По вопросам: @marinagartm
Download Telegram
Чем занимаются наши студенты, кроме лекций и вебинаров?

В курсе сейчас два проектных трека:
▪️ Прогноз изменения цены на недвижимость.
▪️ Детектор фейковых новостей на основе ML.
Каждый проект, это чёткое ТЗ, датасет, орг-правила, техфайлы и пошаговое задание: от формулировки гипотез до финальной валидации.

Как мы проверяем работы:
Проверка состоит из двух этапов
1. Промежуточная кросс-проверка: студенты смотрят решения друг друга, комментируют фичи, метрики, валидацию и код-стайл. Это сильно прокачивает насмотренность и помогает убрать «слепые зоны».
2. Финальная экспертиза: проекты, прошедшие первый этап, разбирают наши эксперты и дают конкретный вердикт: «доделать (и указывают конкретные правки – что именно доделать)» или «готово к портфолио/резюме».

Главная мотивация для студентов выполнять такие проекты, это подготовка портфолио, которое можно показать на собеседовании вместо «коммерческого опыта». Проекты, которые студенты делают на курсе, можно потом самостоятельно кастомизировать под требования конкретной компании. Например, проект прогноза изменения цены на недвижимость легко превращается в задачи ценообразования и спроса (например, сезонность товаров), а если добавить погодные и географические признаки, то проект уже подойдет для сферы каршеринга/такси.

Как итог, у каждого студента на руках появляется кейс с данными, кодом и метриками, который можно менять под требования другой компании, прикрепить к резюме и разобрать на интервью: «вот как я ставил задачу, вот почему выбрал такие признаки и метрики, вот результаты и ограничения».
🔥14
Учимся на практике: решаем реальные ML-задачки

Теория без практики быстро забывается. А вот решение задач из реальных проектов это то, что останется в портфолио и поможет на собеседованиях. Поэтому мы запустили эту рубрику с мини-кейсами по ML, которые можно решать вместе с нами.

Вторая задача: прогнозирование оттока клиентов

Что нужно сделать:
Предсказать, уйдет ли клиент из сервиса. Сфера может быть любая, например: банк, телеком, подписочный сервис.

Как это можно сделать:
▪️ Использовать признаки: время в сервисе, частота операций, обращения в поддержку, возраст
▪️ Учитывать дисбаланс классов используя F1, ROC-AUC
▪️ Попробовать: Logistic Regression, Random Forest, CatBoost
▪️ Добавить важность признаков для объяснения бизнесу


Данные можно взять на Kaggle: https://www.kaggle.com/datasets/blastchar/telco-customer-churn. Эта задачка похожа на то, что нужно будет делать ML-инженеру: банки, страховые компании и маркетплейсы решают подобные кейсы каждый день. Сделав эту задачку, вы сможете показать, что умеете мыслить как ML-специалист и писать работающий код.

Готовы попробовать? Делитесь своими результатами в комментариях.

Все посты этой рубрики можно посмотреть по тэгу: #петпроект_MLinside
17
Хотите заглянуть внутрь мира машинного обучения и понять, из чего складываются навыки ML-специалистов?

Наш демо-курс «База ML» как раз для этого. Попробуйте обучение без риска и вложений.

В демо-курсе вы найдете вводные уроки по ключевым темам:
▪️ математический анализ и линейная алгебра в ML;
▪️ основы программирования на Python;
▪️ линейные модели и нейронные сети;
▪️ метрики и практика их применения.

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

Попробуйте демо-курс бесплатно прямо сейчас: https://stepik.org/course/218409
7
Помогите нам прокачать демо-курс «База ML»

Мы всегда работаем над повышением качества нашего обучения. Обратная связь студентов помогает нам улучшать как сами курсы, так и весь контент, который мы готовим для сообщества MLinside.

Если вы уже проходили наш демо-курс, расскажите, что понравилось, а что хотелось бы доработать и какие темы стоит раскрыть подробнее. Ваши отзывы не только помогают нам двигаться вперёд, но и повышают видимость курса на Stepik — а значит, больше людей сможет его найти и открыть для себя новую профессию.

Чтобы поддержать проект, оставьте отзыв прямо на платформе Stepik: https://stepik.org/course/218409/reviews. Для нас это очень ценно, а для будущих студентов станет ориентиром, стоит ли попробовать курс.

А если вы пока только думаете, демо курс «База ML» доступен бесплатно здесь: https://stepik.org/course/218409

Спасибо всем, кто делится впечатлениями. Именно за счёт этой обратной связи мы делаем курс сильнее.
11
От этого кровь стынет в жилах

Да, мы решили не проходить мимо хэллуина и собрали несколько по-настоящему жутких вещей. А чего боитесь вы?
😁377🔥2
Продолжаем нашу рубрику Code Detective. Она для тех, кто хочет прокачать навык чтения и анализа чужого кода – крайне полезный навык в работе ML-инженера.

Вот фрагмент кода:
import pandas as pd

df = pd.DataFrame({'A': [1, 2, None], 'B': [4, None, 6]})
df.fillna(0).dropna()
print(df)

На первый взгляд всё выглядит нормально. Или нет? Тут есть ошибка? Если есть, напишите в комментариях:
1. Какую ошибку нашли;
2. Варианты её исправления.

Ответ мы опубликуем завтра, а посты этой рубрики можно посмотреть по хэштегу: #CodeDetective_MLinside
11
Как и обещали, вот ответ на вчерашний пост. Да, в коде есть ошибка.

Объяснение:
fillna(0) возвращает DataFrame, но результат не сохраняется
dropna() вызывается на результате fillna, но тоже не сохраняется
Исходный df не изменяется, так как inplace=False по умолчанию

Исправление:
df = df.fillna(0).dropna()
Или
df.fillna(0, inplace=True)
df.dropna(inplace=True)

#CodeDetective_MLinside
9
Что реально нужно из математики для старта в ML

Мы часто общаемся с новичками в ML. С теми, кто хочет пойти на курс «База ML» и теми, кто уже его проходит. И, пожалуй, самое частое опасение у всех, это математика. Многим кажется, что всё слишком сложно, и лучше не лезть. А зря. Для старта в ML нужно разобраться в нескольких концепциях, а остальное можно догнать потом, с ростом вашего уровня.

▪️Линейная алгебра
Во-первых, векторы и матрицы. Вы должны понимать, что это такое и какие базовые операции с ними можно делать. Это основа, так как большинство моделей ML можно выразить в матричном виде.
Во-вторых, это умножение матриц и это ключевая операция. Вся работа нейронных сетей это, по сути, последовательное перемножение матриц с весами.
Ну и в-третьих, собственные векторы и собственные значения. Эти концепции важны для методов уменьшения размерности, таких как PCA, которые помогают упростить данные без потери важной информации.

▪️Математический анализ
Первое, это производные. Вы должны понимать ее основной смысл – скорость изменения функции.
Второе, это градиент. Это вектор из частных производных, который всегда указывает в сторону самого быстрого роста функции. Чтобы минимизировать ошибку, мы движемся в обратную сторону. Этот метод называется градиентный спуск.
Третье, это различные функции потерь и понимание их свойств. Это функции, которые показывают, насколько сильно наша модель ошибается. И вам нужно понимать несколько основных и совсем несложных фактов про эти функции.

▪️Теория вероятностей и статистика
Во-первых, базовые понятия. Средние значения, медиана, дисперсия, стандартное отклонение – это ваши лучшие друзья. Это основа для анализа и подготовки любых данных.
Во-вторых, это распределение. Понимать, что такое нормальное, биномиальное и равномерное распределение.
В-третьих, АБ-тестирование. Этот инструмент позволяет специалисту понять, какой выигрыш бизнес получает после внедрения ML-модели. И это неотъемлемая часть многих задач в области Data Science.

А чтобы вы могли проверить себя и понять, где вы уже сильны, а что стоит добить, мы собрали мини-опрос ниже. Там всего 3 коротких вопроса, справитесь?
16🔥3
Ситуационная задача - “Бизнес просит срочно!”

Представьте, что вы работаете в продуктовой ML-команде. Продакт прилетает к вам с горящими глазами и говорит:
Нам срочно нужно предсказать, кто из клиентов уйдёт, прямо к пятнице, чтобы отправить им пуши. Время – два дня. Ты же сможешь?
5👍1🔥1
Главная боль собеседований

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

Шаг 1. Бизнес-цель
Вопросы: что решаем, кто пользователь, как выглядит успех для бизнеса.
Что получаем на выходе: список бизнес-метрик и целевых эффектов.

Шаг 2. Данные
Вопросы: какой таргет, есть ли дисбаланс, утечки, сдвиги во времени, хватит ли объёма и качества.
Что получаем на выходе: риски и план подготовки данных.

Шаг 3. Ограничения
Вопросы: ограничения по задержке и частоте инференса, требования к интерпретируемости и приватности, инфраструктура и бюджет.
Что получаем на выходе: рамки выбора модели и пайплайна.

Шаг 4. Метрика и порог
Вопросы: стоимость ошибок I и II рода, что важнее здесь Precision или Recall, нужна ли рабочая точка, PR-AUC или ROC-AUC, есть ли смысл в cost-sensitive подходе.
Что получаем на выходе: основная метрика плюс рабочий порог и вторичные метрики.

Шаг 5. Валидация и онлайн-проверка
Вопросы: корректная разбивка и контроль сдвигов, guardrails, дизайн A/B и окно измерения эффекта.
Что получаем на выходе: план оффлайн-валидации, A/B и мониторинга в проде.

Сохраняйте пост в закладки и возвращайтесь к этому фрейму перед собесом.
23👍5
Как не потеряться на Kaggle: пошаговый гайд для новичков

Если вы только начинаете изучать машинное обучение, Kaggle может показаться чем-то вроде закрытого клуба. Но на самом деле, это лучшая площадка, чтобы перейти от теории к практике и понять, как всё работает.

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

С чего начать:
Создайте аккаунт и оформите профиль. Kaggle можно назвать соцсетью для датасайентистов, так что это поможет потом найти единомышленников.

Изучите раздел Datasets. Найдите темы, которые вам интересны: спорт, экономика, медицина и т.д. (проверить, стоит ли добавить больше информации)

Посмотрите Notebooks. Это примеры решений других участников. Можно обратить внимание на то, как они пишут код, какие модели выбирают.

Выберите первое соревнование. Лучше начать с чего-нибудь попроще. Самый популярный вариант для новичков, это “Titanic: Machine Learning from Disaster”.

Сделайте свой первый ноутбук. Даже если просто повторять чужое решение, это уже вам поможет.

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

Добавьте результат в портфолио. Это очень поможет потом на собеседованиях.

Главный совет, который мы бы дали тем, кто только начинает знакомство с платформой:
Не пытайтесь сразу попасть в топ. Ваша цель – понять, как устроен процесс: от загрузки данных до оценки метрик.


Ну и помните, что каждый ноутбук делает вас сильнее в аналитике, коде и понимании ML в целом.
20🔥3👍2
Возвращаемся с нашей регулярной рубрикой Code Detective

Если хотите прокачать навык чтения и анализа чужого кода, а это крайне полезный навык в работе ML-инженера, рубрика вам пригодится.

Вот фрагмент кода:
import pandas as pd

data = pd.DataFrame({'value': [10, 15, 20, 25, 30]})
filtered = data[data['value'] > 20]

for i in range(len(filtered)):
print(f"Элемент {i}: {filtered['value'][i]}")


Тут всё хорошо. Или нет? Есть какая-то ошибка? Если есть, напишите в комментариях:
1. Какую ошибку нашли;
2. Варианты её исправления.

Ответ мы опубликуем через пару дней, а посты этой рубрики можно посмотреть по хэштегу: #CodeDetective_MLinside
🔥5👍3