Читаю книгу про визуализацию данных... Большую часть из того, что уже прочитал, читалась с телефона. Сейчас наконец добрался до бумажной... И насколько же она в таком формате лучше идет. Графики красивые и на своих местах, заголовки цветастые. Белые страницы с телефона вообще неприятно читать, а не белые искажают цвета.
В общем, мой вывод такой: если в книге картинки и цвет - это важно, то бумага определённо лучше телефона.
Интересно еще попробовать электронную книгу с цветным e-ink, но не насколько, чтобы тратить на это 20+к, да и бумагу я все же люблю больше.
В общем, мой вывод такой: если в книге картинки и цвет - это важно, то бумага определённо лучше телефона.
Интересно еще попробовать электронную книгу с цветным e-ink, но не насколько, чтобы тратить на это 20+к, да и бумагу я все же люблю больше.
Забавно, что каждый год исследования Data Vizualization Society показывает, что самым популярным инструментом визуализации является Excel 🤪
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2
#classic #ml
Сегодня буду рассказывать о том, что такое предвзятостьo градиентов, и как эту проблему решает CatBoost.
Предвзятость градиентов — это серьезная проблема в градиентном бустинге, которая приводит к переобучению модели. Суть проблемы в том, что градиенты, используемые на каждом шаге обучения, оцениваются на тех же данных, на которых строится текущая модель. Это создает смещение в распределении градиентов и ухудшает качество модели.
Классические подходы (XGBoost, LightGBM) используют двухэтапный процесс:
1. Выбор структуры дерева
2. Расчет значений в листьях
При этом значения в листьях рассчитываются как приближения градиентов или шагов Ньютона.
CatBoost предлагает принципиально иной метод борьбы с предвзятостью:
1. Отдельные модели для каждого примера:
- Для каждого обучающего примера создается отдельная модель
- Эти модели никогда не обновляются с помощью градиента этого примера
- Позволяет получить несмещенные оценки градиентов
2. Использование случайных перестановок:
- Данные случайным образом переставляются несколько раз
- Для каждой перестановки строятся отдельные модели
- Это повышает устойчивость алгоритма
3. Оптимизация вычислений:
- Все модели используют одинаковую структуру деревьев
- Используется эффективный алгоритм подсчета приближений
- Сокращается количество необходимых вычислений
Алгоритм CatBoost:
1. Создает несколько случайных перестановок данных
2. Для каждой перестановки:
- Строит отдельные модели без использования текущего примера
- Вычисляет градиенты на основе этих моделей
- Использует их для оценки результирующего дерева
Преимущества подхода CatBoost
1. Снижение переобучения:
- Несмещенные оценки градиентов
- Использование нескольких перестановок
- Более стабильная работа на разных данных
2. Эффективность:
- Оптимизированное хранение данных
- Параллельные вычисления
- Разумный баланс между качеством и скоростью
3. Универсальность:
- Работает с разными типами данных
- Адаптируется под различные задачи
- Предотвращает переобучение на сложных наборах данных
P.S. Схему рисовал сам для вас😊
Сегодня буду рассказывать о том, что такое предвзятостьo градиентов, и как эту проблему решает CatBoost.
Предвзятость градиентов — это серьезная проблема в градиентном бустинге, которая приводит к переобучению модели. Суть проблемы в том, что градиенты, используемые на каждом шаге обучения, оцениваются на тех же данных, на которых строится текущая модель. Это создает смещение в распределении градиентов и ухудшает качество модели.
Классические подходы (XGBoost, LightGBM) используют двухэтапный процесс:
1. Выбор структуры дерева
2. Расчет значений в листьях
При этом значения в листьях рассчитываются как приближения градиентов или шагов Ньютона.
CatBoost предлагает принципиально иной метод борьбы с предвзятостью:
1. Отдельные модели для каждого примера:
- Для каждого обучающего примера создается отдельная модель
- Эти модели никогда не обновляются с помощью градиента этого примера
- Позволяет получить несмещенные оценки градиентов
2. Использование случайных перестановок:
- Данные случайным образом переставляются несколько раз
- Для каждой перестановки строятся отдельные модели
- Это повышает устойчивость алгоритма
3. Оптимизация вычислений:
- Все модели используют одинаковую структуру деревьев
- Используется эффективный алгоритм подсчета приближений
- Сокращается количество необходимых вычислений
Алгоритм CatBoost:
1. Создает несколько случайных перестановок данных
2. Для каждой перестановки:
- Строит отдельные модели без использования текущего примера
- Вычисляет градиенты на основе этих моделей
- Использует их для оценки результирующего дерева
Преимущества подхода CatBoost
1. Снижение переобучения:
- Несмещенные оценки градиентов
- Использование нескольких перестановок
- Более стабильная работа на разных данных
2. Эффективность:
- Оптимизированное хранение данных
- Параллельные вычисления
- Разумный баланс между качеством и скоростью
3. Универсальность:
- Работает с разными типами данных
- Адаптируется под различные задачи
- Предотвращает переобучение на сложных наборах данных
P.S. Схему рисовал сам для вас
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🤝1
#hypex
Новый релиз!
https://github.com/sb-ai-lab/HypEx/releases/tag/v1.0.2
Справедливости ради скорость АА теста совсем не только я ускорял, но и Ваня с Настей. Я больше ревьюил, замерял, рефакторил, ну и код заливал.
Но гайз, если вы пользуетесь нашей либой...
😜 Там ускорение в 2000 раз на 2 млн. записей
⏳Долгие процессы стали гораздо более удобными, благодаря появлению прогресс баров.
👩💻 Да и смотреть на результаты теперь приятнее благодаря форматированию в резюме
🔫 Не говоря уже про исправленные ошибки
В общем, все бегом обновляться 😊
Новый релиз!
https://github.com/sb-ai-lab/HypEx/releases/tag/v1.0.2
Справедливости ради скорость АА теста совсем не только я ускорял, но и Ваня с Настей. Я больше ревьюил, замерял, рефакторил, ну и код заливал.
Но гайз, если вы пользуетесь нашей либой...
⏳Долгие процессы стали гораздо более удобными, благодаря появлению прогресс баров.
В общем, все бегом обновляться 😊
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
#ml
Поговорим сегодня про имбалансное обучение.
Думаю, что все знакомы с проблемой: отношение 1 к 0 1/70, мажоритарный класс ломает эвристики, ломает метрики... В общем, к этому всему нужно особое внимание и особые подходы.
В общих чертах, что можно делать:
1. Оверсемплить
2. Андерсемплить
3. Комбинировать овер и андерсэмплинг
4. Использовать специальные модели со встроенным в алгоритм сэмплированием
5. Использовать метрики устойчивые к дисбалансу и дополнительные инструменты анализа
6. Настраивать лосс-функции моделей, чтобы она лучше училась на миноритарном классе.
В дальнейшем планирую больше раскрывать тему и рассказывать о практике применения различных приемов.
Поговорим сегодня про имбалансное обучение.
Думаю, что все знакомы с проблемой: отношение 1 к 0 1/70, мажоритарный класс ломает эвристики, ломает метрики... В общем, к этому всему нужно особое внимание и особые подходы.
В общих чертах, что можно делать:
1. Оверсемплить
2. Андерсемплить
3. Комбинировать овер и андерсэмплинг
4. Использовать специальные модели со встроенным в алгоритм сэмплированием
5. Использовать метрики устойчивые к дисбалансу и дополнительные инструменты анализа
6. Настраивать лосс-функции моделей, чтобы она лучше училась на миноритарном классе.
В дальнейшем планирую больше раскрывать тему и рассказывать о практике применения различных приемов.
🤔2
Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
Выбросы могут быть ошибками сбора, а могут — ключом к инсайту. Главное — заметить их вовремя и обработать правильно.
🎯 Вот промт, чтобы системно подойти к проблеме:
У меня есть датафрейм с числовыми признаками. Помоги:
– Найти выбросы с помощью стандартных методов: Z-оценка, IQR, Tukey fences, modified Z-score
– Построить визуализации: boxplot, scatter, histogram, isolation forest
– Разделить признаки по плотности выбросов
– Предложить: удалять выбросы, каппировать, логарифмировать, заменять
– Проверить, влияют ли выбросы на корреляции и важность признаков
– Обнаружить мультипризнаковые выбросы (multivariate outliers) с помощью: Mahalanobis distance, One-Class SVM, Isolation Forest
Посоветуй стратегии для ML:
– оставлять как есть
– обработать в препроцессинге
– использовать модели, устойчивые к выбросам (например, robust regression)
Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
#open_source #ml #classic
Сегодня узнал из поста другой DS группы, который вы уже, возможно, видели о либе interpret. Мне тот пост не понравился, поэтому я решил написать свой 😅
Из крутого:
1. Специальный интерпретируемый GBM, разработанный Microsoft и другие glass-box модели 🔮
2. Полный набор инструментов для объяснения black-box моделей в одном месте🤔
3. Удобные встроенные интерактивные визуализации👀
Если дойдут руки попробовать, расскажу что как. Вообще довольно давно есть мысль взять какую-нибудь интересную задачу с открытыми данными, как бенчмарк всякого MLного. Если у вас такие есть, кидайте в комменты ☺️
Сегодня узнал из поста другой DS группы, который вы уже, возможно, видели о либе interpret. Мне тот пост не понравился, поэтому я решил написать свой 😅
Из крутого:
1. Специальный интерпретируемый GBM, разработанный Microsoft и другие glass-box модели 🔮
2. Полный набор инструментов для объяснения black-box моделей в одном месте
3. Удобные встроенные интерактивные визуализации
Если дойдут руки попробовать, расскажу что как. Вообще довольно давно есть мысль взять какую-нибудь интересную задачу с открытыми данными, как бенчмарк всякого MLного. Если у вас такие есть, кидайте в комменты ☺️
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - interpretml/interpret: Fit interpretable models. Explain blackbox machine learning.
Fit interpretable models. Explain blackbox machine learning. - interpretml/interpret
Forwarded from HypEx (Дмитрий Тихомиров)
Пока вы отдыхали (а может, считали часами АА-тесты на старой версии), мы не сидели сложа руки — выпуск версии 1.0.2 оказался мощным апдейтом:
- АА-тест теперь летает! Ускорение — от «в несколько раз» до «ого-го» на больших датасетах. (в 2000 раз быстрее на 2 млн строк)
- Т-тест стал умнее — теперь можно применять поправку Уэлча при неравных группах.
- Matching стал гибче — можно подбирать не одного, а сразу n-близнецов (наконец-то 💥).
- Результаты стали чище и понятнее — формат отчётов по АА/АБ/Matching обновили, добавили новые метрики.
🐞 Исправили баги:
- корректное сравнение в мэтчинге
- краши при константных значениях
- краши при дисбалансе
- проблема с КС-тестом
📚 Туториалы тоже не забыли — дописали, обновили, структурировали.
Да, релиз вышел 2 недели назад. Но мы — как хорошие исследователи: сначала проверим, протестим, допишем, потом и расскажем.
Пробуйте и пишите фидбек!
github.com/sb-ai-lab/hypex
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - sb-ai-lab/HypEx: Fast and customizable framework for automatic and quick Causal Inference in Python
Fast and customizable framework for automatic and quick Causal Inference in Python - sb-ai-lab/HypEx
🔥2