Интересное что-то – Telegram
Интересное что-то
517 subscribers
2.71K photos
253 videos
138 files
4.51K links
Материалы и мысли, понадерганные отовсюду
Блог: https://news.1rj.ru/str/asisakov_channel
Чат: https://news.1rj.ru/str/youknowds_chat
Download Telegram
5) Алгебра логики и автоматы
В ШАДе этого нет, а вот всякие хайповые магистратуры обожают вставлять такое в программу, хотя по факту если не идете на инфраструктуру, разработку, а например на ДС, то в экзамене у вас такого точно не будет. Для остальных несчастных предлагаю ВМКашный курс и "Введение в дискретную математику" Ябланского. Задачник пойдет любой.

На последок, стоит сказать, что никакой тяжелой последовательной теории в дискретной математике нет, ее спокойно рассказывают на кружках 6-клашам. Главное, как всегда научиться решать задачи, а если хотите стать мастером спорта по дискре в короткие сроки, то возможно вам подойдет наш курс по теории вероятностей и дискретной математике. Если же будет (((много огоньков и шэров))), то Михаила Абрамович обещал записать видос по основным теоремам и понятиям дискретной математики😎😎
#Tip27 #Train

При K-fold валидации прогнозы делаются на тестовых частях, которые не участвуют в обучении и эти прогнозы называются Out-of-Fold (OOF) Predictions.

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

Стэкинг это способ построения ансамбля моделей, в котором есть базовые модели и есть мета модель.
Базовые модели обучаются на исходных данных, а мета-модель на предсказаниях базовых моделей.
Обычно для построения стекинга исходный датасет делится на несколько крупных частей из-за чего все модели увидят меньше данных. Но благодаря Out-of-Fold Predictions можно реализовать обучение на всех (почти) данных.

В соревновательном DS алгоритм в целом такой:
1. Разбиваем датасет с метками на трейн и эвал + у нас уже есть тестовый датасет от организаторов.
2. Трейн разбиваем на фолды.
3. Для каждого фолда:
- Обучаем модель на тренировочной части.
- Выполняем предсказание для тестовой части фолда и сохраняем предсказание в отдельный вектор, каждый элемент которого соответствует строке тренировочного датасета.
- Выполняем предсказание для валидационного датасета.
- Выполняем предсказание для тестового датасета.
4. Собранные предсказания на фолдах передаем в мета-модель как фичу.
5. Усредняем предсказания полученные для валидационного и тестового датасета.
6. С помощью мета-модели делаем предсказание для усредненных значений валидационного и тестового датасета.
7. Значения полученные для валидационного датасета используем для оценки, а значения полученные для тестового датасета заворачиваем в сабмит.

Реализуется данный алгоритм обычно вручную.

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

Для большей эффективности ансамбля для базовых и мета-модели стараются задействовать разные алгоритмы (линейные/KNN/деревья).
Forwarded from ИЦ "ГЕВИССТА"
Пепе Берба
Объяснение работы HDBSCAN и алгоритмов кластеризации на основе плотности

Перейти и скачать
Forwarded from ИЦ "ГЕВИССТА"
Признаки для временных рядов – скользящие разности
Обычно в прогнозировании временных рядов используют два вида скользящих разностей. Тестовую часть защищаете от протечек значениями NaN.

# считаем скользящие разности между максимальным
# и минимальным значениями окна, окно шириной 4,
# c лагом 1
data['rolling_diff4_max_min'] = data['sales'].shift(periods=1).rolling(
window=4, min_periods=1).apply(lambda x: max(x) - min(x))

# вручную считаем скользящие разности между последним и
# первым значениями окна, окно шириной 4, с лагом 1
data['rolling_diff4_last_frst'] = data['sales'].shift(periods=1).rolling(
window=4, min_periods=1).apply(lambda x: x.iloc[-1] - x.iloc[0])

Ну и куда без подводных камней. Последняя разность между максимальным и минимальным значениями в тестовой части всегда будет равна 0, обычно нулевое значение заменяют последней разностью между максимальным и минимальным значениями в обучающей части. Разности между последним и первым значениями в тестовой части получат пропуски, обычно их заменяют нулями. Разности применяйте для градиентных бустингов. Они либо не работают вовсе, либо работают очень хорошо, резко улучшая качество модели. Я использую их в работе, они хорошо работали вот в этом соревновании https://www.kaggle.com/competitions/store-sales-time-series-forecasting/overview. В книге по рядам подробнее покажу примеры использования.
Forwarded from Mark Andreev
https://mymlops.com/ конструктор mlops стека
Forwarded from Дмитрий Колодезев
http://ceur-ws.org/Vol-2135/SEIM_2018_paper_30.pdf обзор до-бертовских подходов. и я бы попробовал RAKE для начала, что-то типа https://github.com/vgrabovets/multi_rake (не обязательно его, он руками пишется нетрудно)
Чтобы было, с чем сравнивать KeyBERT
Создаем свою соцсеть на Django

Хороший способ прокачать себя в знании Django — поднять свою соцсеть. Это довольно глубокий курс, займет много-много часов, но если вы пройдете его до конца и не бросите — почувствуете сильный прогресс.

Подробнее: 👉 тут

#видео #python