#примеры #Kaggle
Многие видели кернел на Kaggle, где LightAutoML в режиме blackbox сражается в соревновании TPS 2021 с моделями, построенными вручную (https://www.kaggle.com/alexryzhkov/n3-tps-april-21-lightautoml-starter).
Сейчас мы решили пойти дальше - взять наше whitebox решение и навязать борьбу хваленым градиентным бустингам. Пока что у нас получилось добиться сравнимого с blackbox алгоритмами качества, посмотрим что будет дальше. Мониторить ситуацию можно здесь: https://www.kaggle.com/alexryzhkov/lightautoml-interpretable-model-autowoe
Многие видели кернел на Kaggle, где LightAutoML в режиме blackbox сражается в соревновании TPS 2021 с моделями, построенными вручную (https://www.kaggle.com/alexryzhkov/n3-tps-april-21-lightautoml-starter).
Сейчас мы решили пойти дальше - взять наше whitebox решение и навязать борьбу хваленым градиентным бустингам. Пока что у нас получилось добиться сравнимого с blackbox алгоритмами качества, посмотрим что будет дальше. Мониторить ситуацию можно здесь: https://www.kaggle.com/alexryzhkov/lightautoml-interpretable-model-autowoe
#инфографика
Друзья-товарищи, я хотел бы сказать вам большое спасибо за то, что вы с нами и помогаете нам развиваться. Наше текущее состояние по числу скачиваний выглядит вот таким образом. Последние несколько дней прямо пушка 🤩🤩🤩
Друзья-товарищи, я хотел бы сказать вам большое спасибо за то, что вы с нами и помогаете нам развиваться. Наше текущее состояние по числу скачиваний выглядит вот таким образом. Последние несколько дней прямо пушка 🤩🤩🤩
#инфографика
И что еще более забавно - теперь включился в работу питон 3.6, пытающийся догнать самый распространенный 3.7
И что еще более забавно - теперь включился в работу питон 3.6, пытающийся догнать самый распространенный 3.7
#инфографика
И конечно же большинство из нас линуксоиды :)
И конечно же большинство из нас линуксоиды :)
#оффтоп
Для тех кто устал искать в кернеле на Kaggle версию с лучшим скором посвящается: мини-тул для сбора информации о кернеле https://github.com/alexmryzhkov/kaggle-kernels-helper
Пример вывода в аттаче, пример использования в Jupyter ноутбуке в репозитории.
P.S. Пока что работает только с открытыми кернелами.
Для тех кто устал искать в кернеле на Kaggle версию с лучшим скором посвящается: мини-тул для сбора информации о кернеле https://github.com/alexmryzhkov/kaggle-kernels-helper
Пример вывода в аттаче, пример использования в Jupyter ноутбуке в репозитории.
P.S. Пока что работает только с открытыми кернелами.
#ответы_на_вопросы
Вопрос: можно ли получить все предсказания с последнего слоя перед блендером?**
Ответ: да, можно. Для любой задачи чтобы возвращать предсказания всех алгоритмов с последнего слоя нужно на тренировке вписать вот такую историю:
где всего 2 алгоритма взяты для примера, параметр
Для того, чтобы подобные предсказания получить на тесте, нужно параметр
Вопрос: можно ли получить все предсказания с последнего слоя перед блендером?**
Ответ: да, можно. Для любой задачи чтобы возвращать предсказания всех алгоритмов с последнего слоя нужно на тренировке вписать вот такую историю:
general_params = {
'use_algos': [['linear_l2', 'lgb']],
'return_all_predictions': True,
'weighted_blender_max_nonzero_coef': 0.0
}
,где всего 2 алгоритма взяты для примера, параметр
return_all_predictions:
True означает, что блендер учить нужно но пользователь хочет получить итоговые OutOfFold предсказания в формате всех OutOfFold предсказаний с последнего слоя перед блендером. В задаче бинарной классификации и регрессии это будет выглядеть как матрица с количеством строк, равным числу объектов в трейне, и количеством столбцов, равных количеству алгоритмов на последнем слое перед блендром. Для задачи мультиклассовой классификации на N классов количество столбцов увеличится кратно - первые N столбцов будут относиться к первому алгоритму, вторые N ко второму и так далее.Для того, чтобы подобные предсказания получить на тесте, нужно параметр
return_all_predictions
установить в значение True#теория #трюки
В задачах машинного обучения часто мы наблюдаем картину насыщения модели данными: при 80-90% используемых данных из тренировочного датасета модель выходит на плато качества и дальше не растет.
Однако встречаются кейсы (и они не являются супер редким исключением из правил), когда качество модели все продолжает и продолжает расти по мере наращивания выборки, на которой модель учится, и даже при 100% насыщения не наступает. Но размеченных данных больше нет и остались только неразмеченные - в данной ситуации может помочь так называемая техника псевдолейблинга (pseudolabelling). О том, как с ней работать и какие существуют важные правила, которые стоит соблюдать для достижения результата, можно прочитать в моем посте на форуме Kaggle: https://www.kaggle.com/c/tabular-playground-series-apr-2021/discussion/231738
В задачах машинного обучения часто мы наблюдаем картину насыщения модели данными: при 80-90% используемых данных из тренировочного датасета модель выходит на плато качества и дальше не растет.
Однако встречаются кейсы (и они не являются супер редким исключением из правил), когда качество модели все продолжает и продолжает расти по мере наращивания выборки, на которой модель учится, и даже при 100% насыщения не наступает. Но размеченных данных больше нет и остались только неразмеченные - в данной ситуации может помочь так называемая техника псевдолейблинга (pseudolabelling). О том, как с ней работать и какие существуют важные правила, которые стоит соблюдать для достижения результата, можно прочитать в моем посте на форуме Kaggle: https://www.kaggle.com/c/tabular-playground-series-apr-2021/discussion/231738
Kaggle
Tabular Playground Series - Apr 2021
Synthanic - You're going to need a bigger boat
#release_notes
В версии 0.2.11:
- добавлена функциональность подсчета важности признаков из коробки для TabularAutoML и TabularUtilizedAutoML. Примеры использования можно увидеть в Tutorial_2.
- добавлена возможность возвращать предсказания отдельных моделей с последнего слоя перед блендером как на этапе трейна модели (для OutOfFold предсказания), так и для этапа предсказаний. Подробности использования - в посте выше из категории #ответы_на_вопросы
- исправлены баги, найденные в процессе тестирования кастомных метрик, заданию своих конфигов для TabularUtilizedAutoML и превращению его тем самым в мультистарт и др.
В версии 0.2.11:
- добавлена функциональность подсчета важности признаков из коробки для TabularAutoML и TabularUtilizedAutoML. Примеры использования можно увидеть в Tutorial_2.
- добавлена возможность возвращать предсказания отдельных моделей с последнего слоя перед блендером как на этапе трейна модели (для OutOfFold предсказания), так и для этапа предсказаний. Подробности использования - в посте выше из категории #ответы_на_вопросы
- исправлены баги, найденные в процессе тестирования кастомных метрик, заданию своих конфигов для TabularUtilizedAutoML и превращению его тем самым в мультистарт и др.
#release_notes
В версии 0.2.12:
- Добавлена интерпретацию NLP моделей на основе LIME.
- Появилась расширенная поддержка HF моделей для обучения и извлечения эмбеддингов.
- Исправлен ряд багов, связанных с передачей языка в некоторые алгоритмы извлечения эмбеддингов и токенайзеров.
В версии 0.2.12:
- Добавлена интерпретацию NLP моделей на основе LIME.
- Появилась расширенная поддержка HF моделей для обучения и извлечения эмбеддингов.
- Исправлен ряд багов, связанных с передачей языка в некоторые алгоритмы извлечения эмбеддингов и токенайзеров.
Коллеги, всем привет!
❗️Рады поделиться новостью: мы в Sber AI Lab запускаем практический курс 🎓 LightAutoML - фреймворк для автоматического построения моделей машинного обучения.
Фреймворк полностью открытый, так как opensource, работает пока на табличных данных, однако на этот год у нас достаточно плотный roadmap. Курс будут читать авторы и разработчики фреймворка - маcтера и градмастер Kaggle🥇🥇🎖. В конце всех лекций вас ждут лайфхаки и байки лучших практик Kaggle и анонс inclass-соревнования для слушателей курса🎁!
Фреймворк позволяет за короткий промежуток времени построить автоматически пайплайн модели, работающий на уровне топ-10% DS 🎰. Пока машина строит пайплайны за вас 🤖, можно продолжать работать осмысленно 🛀 над построением новых фичей, основанных на бизнес-знаниях, и получать результаты выше.
Курс состоит из 9 вебинаров 🧑💻, будет проходить еженедельно по средам с 28 апреля в 19.00 по Мск. Регистрация по ссылке
P.S. Много полезного по фреймворку есть на Github. Будем рады звездочкам ⭐️ и ждем всех на курсе.
❗️Рады поделиться новостью: мы в Sber AI Lab запускаем практический курс 🎓 LightAutoML - фреймворк для автоматического построения моделей машинного обучения.
Фреймворк полностью открытый, так как opensource, работает пока на табличных данных, однако на этот год у нас достаточно плотный roadmap. Курс будут читать авторы и разработчики фреймворка - маcтера и градмастер Kaggle🥇🥇🎖. В конце всех лекций вас ждут лайфхаки и байки лучших практик Kaggle и анонс inclass-соревнования для слушателей курса🎁!
Фреймворк позволяет за короткий промежуток времени построить автоматически пайплайн модели, работающий на уровне топ-10% DS 🎰. Пока машина строит пайплайны за вас 🤖, можно продолжать работать осмысленно 🛀 над построением новых фичей, основанных на бизнес-знаниях, и получать результаты выше.
Курс состоит из 9 вебинаров 🧑💻, будет проходить еженедельно по средам с 28 апреля в 19.00 по Мск. Регистрация по ссылке
P.S. Много полезного по фреймворку есть на Github. Будем рады звездочкам ⭐️ и ждем всех на курсе.
#ответы_на_вопросы
Вопрос: Что делать, если на этапе создания объекта Task возникла ошибка с текстом "Cannot infer greater is better from metric. Should be set manually."
Ответ: В данном моменте произошла следующая ситуация - lightautoml не смог автоматом определить куда нужно оптимизировать метрику (в сторону максимума или в сторону минимума). Для решения проблемы необходимо вручную задать в Task аргумент
Вопрос: Что делать, если на этапе создания объекта Task возникла ошибка с текстом "Cannot infer greater is better from metric. Should be set manually."
Ответ: В данном моменте произошла следующая ситуация - lightautoml не смог автоматом определить куда нужно оптимизировать метрику (в сторону максимума или в сторону минимума). Для решения проблемы необходимо вручную задать в Task аргумент
greater_is_better
с соответствующим значением True или False (например, для AUC это True, a для LogLoss это False)#примеры
Всем привет! Чтобы решать бизнес-задачи, AutoML должен не только получать качественное решение, но и делать это быстро. А если хочется понимания, что же он такого настроил - то еще и интерпретируемым. Поэтому сегодня хотел бы поделиться примерами использования LightAutoML в различных задачах, где необходимо было быстро получить результат:
1. Прогнозирование стоимости квартиры (1.5 часа на 7 прогонов LightAutoML, датасет 40к * 31 фичу)
2. Прогнозирование дефолта заемщика (10 минут, датасет 210к * 47 фичей)
3. Интерпретируемая модель для TabularPlaygroundSeries-April c автоматическим построением отчета и SQL-запроса для инференса
Всем привет! Чтобы решать бизнес-задачи, AutoML должен не только получать качественное решение, но и делать это быстро. А если хочется понимания, что же он такого настроил - то еще и интерпретируемым. Поэтому сегодня хотел бы поделиться примерами использования LightAutoML в различных задачах, где необходимо было быстро получить результат:
1. Прогнозирование стоимости квартиры (1.5 часа на 7 прогонов LightAutoML, датасет 40к * 31 фичу)
2. Прогнозирование дефолта заемщика (10 минут, датасет 210к * 47 фичей)
3. Интерпретируемая модель для TabularPlaygroundSeries-April c автоматическим построением отчета и SQL-запроса для инференса
LightAutoML framework pinned «Коллеги, всем привет! ❗️Рады поделиться новостью: мы в Sber AI Lab запускаем практический курс 🎓 LightAutoML - фреймворк для автоматического построения моделей машинного обучения. Фреймворк полностью открытый, так как opensource, работает пока на табличных…»
Коллеги, добрый вечер! Всех, у кого появились вопросы по нашему решению, курсу, планам развития да и в общем-то всему что хочется обсудить - приглашаю в чат, связанный с данным каналом. В него можно попасть не только по кнопке комментировать под каждым сообщением, но и напрямую по ссылке: https://t.me/joinchat/WQDt8U7hZGJlMTgy
#статьи
Для тех, кто присоединился к нам недавно или пропустил - хотел бы поделиться нашей статьей на TowardsDataScience по использованию LightAutoML на задаче Titanic Disaster. Из интересного - в ней рассказано как за 12 строк кода (включая импорты, загрузки и сохранения данных и пустые строки для лучшей читаемости) получить 78% точности и приведено решение на 80%, которое можно использовать в качестве шаблона для решения прикладных ML задач.
Для тех, кто присоединился к нам недавно или пропустил - хотел бы поделиться нашей статьей на TowardsDataScience по использованию LightAutoML на задаче Titanic Disaster. Из интересного - в ней рассказано как за 12 строк кода (включая импорты, загрузки и сохранения данных и пустые строки для лучшей читаемости) получить 78% точности и приведено решение на 80%, которое можно использовать в качестве шаблона для решения прикладных ML задач.
Medium
LightAutoML vs Titanic: 80% accuracy in several lines of code
How to make ML model in 3 lines of code
#анонсы
Коллеги, всем привет!
Уже завтра вечером стартует наш курс по LightAutoML. Приходите сами и обязательно зовите заинтересованных друзей (и приглашайте их сюда) - будет интересно 👍
Коллеги, всем привет!
Уже завтра вечером стартует наш курс по LightAutoML. Приходите сами и обязательно зовите заинтересованных друзей (и приглашайте их сюда) - будет интересно 👍
#вопрос_к_коммьюнити
Друзья-коллеги,
Поступило интересное предложение - домашние задания после лекций курса. Поставьте, пожалуйста, плюсиков в комменты, кто готов поддержать эту инициативу - оценим объем желающих 👇
Друзья-коллеги,
Поступило интересное предложение - домашние задания после лекций курса. Поставьте, пожалуйста, плюсиков в комменты, кто готов поддержать эту инициативу - оценим объем желающих 👇
Коллеги, привет.
Возникают вопросы по доступу на вебинар. Рассылка делается вручную: за сутки до вебинара в 19.00, в день вебинара в 18.00. По записям подробно пишем в рассылке.
Если вы зарегистрировались после этого времени, то попадете только в следующую рассылку. Просим отнестись с пониманием. 😇
Возникают вопросы по доступу на вебинар. Рассылка делается вручную: за сутки до вебинара в 19.00, в день вебинара в 18.00. По записям подробно пишем в рассылке.
Если вы зарегистрировались после этого времени, то попадете только в следующую рассылку. Просим отнестись с пониманием. 😇
#домашка
Через полтора часа начнется первый вебинар нашего курса. А для тех, кто очень хотел домашку - она уже готова: https://www.kaggle.com/t/7e9b43b6978b4c18a58c6b60a2da2ed8
В соревновании нужно решать задачу регрессии - предсказать стоимость машины по описывающим ее признакам.
В качестве baseline есть как простые варианты (типа среднего и медианы), так и пример решения с использованием LightAutoML - https://www.kaggle.com/alexryzhkov/lightautoml-starter-for-hw1
Please enjoy :)
Через полтора часа начнется первый вебинар нашего курса. А для тех, кто очень хотел домашку - она уже готова: https://www.kaggle.com/t/7e9b43b6978b4c18a58c6b60a2da2ed8
В соревновании нужно решать задачу регрессии - предсказать стоимость машины по описывающим ее признакам.
В качестве baseline есть как простые варианты (типа среднего и медианы), так и пример решения с использованием LightAutoML - https://www.kaggle.com/alexryzhkov/lightautoml-starter-for-hw1
Please enjoy :)
Kaggle
Kaggle: Your Home for Data Science
Kaggle is the world’s largest data science community with powerful tools and resources to help you achieve your data science goals.
LightAutoML framework pinned «Коллеги, привет. Возникают вопросы по доступу на вебинар. Рассылка делается вручную: за сутки до вебинара в 19.00, в день вебинара в 18.00. По записям подробно пишем в рассылке. Если вы зарегистрировались после этого времени, то попадете только в следующую…»