Data Secrets
77.3K subscribers
6.04K photos
592 videos
20 files
2.42K links
Главный по машинному обучению

Сотрудничество: @veron_28

РКН: clck.ru/3FY3GN
Download Telegram
Лемматизация и стемминг текста

Обычно тексты содержат разные грамматические формы одного и того же слова (например, "ученый" и "ученым"), а также в документе могут встречаться однокоренные слова. Как объяснить машине, что это по сути одно и то же? Для этого нужно текст нормализовать, то есть привести все встречающиеся словоформы к одной, нормальной словарной форме. Самые простой варианты это сделать – использовать стемминг и лемматизацию.

😻 #NN #train
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍35🔥74
Вариации градиентного спуска

Градиентный спуск – это основа основ оптимизации в машинном обучении. Существует множество вариаций этого алгоритма. Три самые известные из них: стохастический спуск, batch спуск и mini-batch спуск. Сейчас расскажем, чем они отличаются и как работают.

😻 #train #NN
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍304🔥432
7 способов кодирования категориальных переменных, которые надо знать

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

1) One Hot Encoding – бинарное кодирования с добавлением новых столбцов.

2) Если убрать одну колонку из OHE, то мы избавимся от мультиколлинеарности и получим dummy encoding.

3) Если строчку со всеми нулями из пункта выше заменить на строку с -1, то получим effect encoding.

4) Или же можно просто присвоить каждому значению категории номер, и это будет label encoding.

5) Если данные как-то ранжированы по-порядку, то можно использовать ordinal encoding.

6) Count encoding – кодируем каждое значение частотой/абсолютами его встречаемости.

7) А если немного оптимизировать One Hot Encoding, то получим Binary Encoding. Например, если у нас 4 категории, то мы можем закодировать их всевозможными сочетаниями из двух битов (0 или 1).

😻 #train
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥35👍74
Как визуализировать дерево решений

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

В комментариях написали готовый код для визуализации на примере Ирисов Фишера.

😻 #analytics #python #train
Please open Telegram to view this post
VIEW IN TELEGRAM
👍247
Самые популярные методы кросс-валидации

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

😻 #train
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🔥84😍2❤‍🔥1🤯1
Что такое data leakage?

Утечку данных (data leakage) называют одной из десяти основных проблем машинного обучения. Давайте разберемся, что это такое прежде, чем зальет ваших соседей снизу это доставит кучу проблем аналитикам и бизнесу.

😻 #train #analytics
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍354🔥4
HalvingSearch – ускорение поиска по сетке

Подбор гперпараметров – сложная и распросраненная задача. Для ее решения часто используют поиск по сетке, но этот алгоритм очень уж медленный. Поэтому сегодня давайте обратим внимание на halving search. Его относительно недавно добавили в sklearn, и пришло время разобраться, как с ним работать.

😻 #train
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍47🔥53
Что делать с НЕнормальным распределением?

Как известно, моделям (особенно линейным) нравится, когда данные имеют нормальное распределение. Но что делать, если это не так? Рассказываем про два варианта: простой и посложнее.

😻 #train #analytics #python
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥45🌚86
Кластеризуем алгоритмы кластеризации

Алгоритмов кластеризации на свете целая куча. Чтобы помочь вам лучше их запомнить и понять, мы разбили их на группы по принципу работы: групп получилось всего 6 – вот они слева направо.

😻 #train
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍58❤‍🔥115
Пишем простую модель генерации текста

Необходимая теория – в карточках. А код уже в коментариях. И да, работать моделька будет не так хорошо, как GPT-4. Но надо же с чего-то начинать.

😻 #python #train
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍40🤯84🔥3
Проклятье размерности – кто наслал и что делать

Отводим порчу вместе с нашими редакторами.

😻 #train
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🔥73
Как сделать линейную регрессию устойчивой к выбросам

Всем (ну почти) хороша линейная регрессия, вот только к выбросам неустойчива. Хотя и это можно исправить: краткий гайд – в карточках.

😻 #train
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72🔥218
Когда размер (усреднения) имеет значение

Все мы знаем классические метрики классификации вроде recall и f1. Но, если вы зайдете в sklearn, то увидите какие-то странные их вариации: f1-macro, f1-micro, f1-weighted… Знаете ли вы, чем они отличаются? Сейчас разберемся.

😻 #train
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍40🔥94
А мы написали нашу первую статью на Хабр!

Посвятили ее крутой библиотеке RecTools от коллег из МТС. Внутри:

▶️за что мы так любим эту библиотеку;
▶️ликбез по основным рексис-моделям (ItemKNN, ALS, SVD, Lightfm, DSSM);
▶️как готовить данные и запускать модели в библиотеке;
▶️как рассчитывать метрики;
▶️оставили много полезных дополнительных материалов.

Очень старались, так что ждем ваших реакций!

😻 #NN #train
Please open Telegram to view this post
VIEW IN TELEGRAM
👍55🔥20👏4🌚3
Как менять код на Python после запуска

Представьте: поставили вы обучаться модельку, радуетесь, но внезапно после первой эпохи осознаете, что забыли запринтить лос… И перезапускать не хочется (время же!), и без логирования как-то грустно живется.

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

Установить чудо можно через pip.

😻 #train #python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9812🫡7🔥5😁41
Продолжаем исследовать линейную регрессию

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

😻 #train
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
54👍17🔥11🤯2
Проблемы рекомендательных систем

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

В общем, смотрите карточки. Мемы в комплекте – все как вы любите.

😻 #train #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8286
Разбираемся с файнтюингом, многозадачностью и вот этим всем

Последнее время на собеседованиях набирает популярность вопрос: объясните, чем отличаются Transfer learning, Fine-tuning, Multi-task learning и Federated learning? А что у них общего? Давайте ответим вместе.

😻 #train #NN
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
35👍13🔥12❤‍🔥5
Как понять бустинг за 30 секунд

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

Шаг 2. Поздравляем! Вы великолепны.

Шаг 2'. Но если все-таки хотите подробнее – читайте этот пост.

😻 #train
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25👍136
Знали ли вы, что случайные деревья можно тестить на трейне?

Такой метод называется out-of-bag validation (в комментах даем приз за самый смешной перевод названия на русский). Давайте разбираться, почему это работает.

😻 #train
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥456👍43😁3🕊2