Forwarded from partially unsupervised
Дата-дривен карго культ учит, что если метрики растут, а результат на глаз выглядит не очень, то метрики первичны, ведь они как будто имеют больший охват (например, весь тестовый датасет), чем то, что может увидеть один человек невооруженным взглядом. Я и сам долгое время был адептом этого тезиса, пока не наступил на достаточное количество граблей.
Проблема в том, что сделать сбалансированную метрику или набор метрик всегда сложнее, чем кажется (завсегдатаи Kaggle не дадут соврать). Именно поэтому в реальности приходится не оптимизировать единственную метрику верхнего уровня, а делать набор метрик и следить за всеми, а потом принимать субъективное решение, когда одна метрика неизбежно вдруг пойдет вверх, а другая вниз.
Буквально вчера на работе смотрел на результаты ML экспериментов и недоумевал: вариант, который и визуально мне нравился больше, и в теории должен был быть лучше, по метрикам выглядел хуже. Заподозрил проблему в недавно задизайненной метрике, поленился доказывать теорией, сделал "модель", которая генерила рандом с определенными свойствами и тут же выбил искомые 100%. Будь это корпорация с бездумной ориентацией на KPI, можно было бы закоммитить и бездельничать до конца квартала!
Проблема в том, что сделать сбалансированную метрику или набор метрик всегда сложнее, чем кажется (завсегдатаи Kaggle не дадут соврать). Именно поэтому в реальности приходится не оптимизировать единственную метрику верхнего уровня, а делать набор метрик и следить за всеми, а потом принимать субъективное решение, когда одна метрика неизбежно вдруг пойдет вверх, а другая вниз.
Буквально вчера на работе смотрел на результаты ML экспериментов и недоумевал: вариант, который и визуально мне нравился больше, и в теории должен был быть лучше, по метрикам выглядел хуже. Заподозрил проблему в недавно задизайненной метрике, поленился доказывать теорией, сделал "модель", которая генерила рандом с определенными свойствами и тут же выбил искомые 100%. Будь это корпорация с бездумной ориентацией на KPI, можно было бы закоммитить и бездельничать до конца квартала!
❤2
Forwarded from partially unsupervised
Это было предсказуемо: в 2024 легкая небрежность в тексте/коде окончательно стала премиальной и крафтовой. Пресный вежливый текст - значит, написано при помощи LLM (и даже без упражнений с промптами). Шероховатости придают эффект теплоты: человек не поленился и написал сам.
Например, пишет мне рекрутер, и второй абзац его письма выглядит как LLM-summary моего линкедин-профиля. Дальше как-то автоматически сложно поверить его словам, что this is exactly the type of experience they are looking for.
Или с другой стороны: проверяю тестовые задания, и довольно быстро калибруюсь. Например, много тривиальных комментариев, начинающихся с заглавной буквы и заканчивающихся точкой - явное свидетельство сгенеренного кода. Да ладно комментарии, я уже и по названиям переменных узнаю код авторства GPT.
Вообще, кстати, в этом тестовом использовать GPT не запрещено, но надо бы не только сгенерить решение, но и понять, что там происходит. В итоге больше всего сигнала в ответе на вопрос "почему это работает?".
В итоге умение писать кое-как теперь вообще не имеет значения, а умение писать изящно (будь то текст или код) ценится как и раньше.
Например, пишет мне рекрутер, и второй абзац его письма выглядит как LLM-summary моего линкедин-профиля. Дальше как-то автоматически сложно поверить его словам, что this is exactly the type of experience they are looking for.
Или с другой стороны: проверяю тестовые задания, и довольно быстро калибруюсь. Например, много тривиальных комментариев, начинающихся с заглавной буквы и заканчивающихся точкой - явное свидетельство сгенеренного кода. Да ладно комментарии, я уже и по названиям переменных узнаю код авторства GPT.
# Init model.
model = Autoencoder.to(DEVICE)
criterion = nn.MSELoss()
Вообще, кстати, в этом тестовом использовать GPT не запрещено, но надо бы не только сгенерить решение, но и понять, что там происходит. В итоге больше всего сигнала в ответе на вопрос "почему это работает?".
В итоге умение писать кое-как теперь вообще не имеет значения, а умение писать изящно (будь то текст или код) ценится как и раньше.
Forwarded from partially unsupervised
MNIST 1D - самая прекрасно безумная работа, которую я пока увидел на ICML.
Это полусинтетический датасет, похожий на MNIST, который при этом сложнее для стандартных бейзлайнов, но при этом требует еще меньше вычислительных ресурсов. Авторы утверждают, что на этом датасете можно быстро воспроизводить всякие забавные метаэффекты типа Double Descent и Winning Lottery Tickets, используя только процессор бюджетного ноутбука.
Это полусинтетический датасет, похожий на MNIST, который при этом сложнее для стандартных бейзлайнов, но при этом требует еще меньше вычислительных ресурсов. Авторы утверждают, что на этом датасете можно быстро воспроизводить всякие забавные метаэффекты типа Double Descent и Winning Lottery Tickets, используя только процессор бюджетного ноутбука.
GitHub
GitHub - greydanus/mnist1d: A 1D analogue of the MNIST dataset for measuring spatial biases and answering Science of Deep Learning…
A 1D analogue of the MNIST dataset for measuring spatial biases and answering Science of Deep Learning questions. - greydanus/mnist1d
✍1
Forwarded from partially unsupervised
Реальность:
- надоело ждать полного прогона тестов на CI, между делом спрятал некоторые долгие джобы под if, чтобы они триггерились только для релевантных изменений.
Потенциальный пост в Linkedin:
- Pioneered a transformative project as part of a company-wide infrastructure efficiency and cost optimization strategy, establishing a scalable model that achieved a sustainable 40% reduction in CI operational costs across the AI organization.
- надоело ждать полного прогона тестов на CI, между делом спрятал некоторые долгие джобы под if, чтобы они триггерились только для релевантных изменений.
Потенциальный пост в Linkedin:
- Pioneered a transformative project as part of a company-wide infrastructure efficiency and cost optimization strategy, establishing a scalable model that achieved a sustainable 40% reduction in CI operational costs across the AI organization.
Forwarded from partially unsupervised
Почти в каждом deep learning-based продукте, над которым я работал, на каком-то этапе где-то сбоку появляется небольшая линейная модель, обучаемая отдельно, иногда даже на классических фичах. Она, конечно, не может решать основную сложную задачу, но внезапно сильно помогает с каким-нибудь корнеркейсом. Например:
- определять резкую смену контекста (и необходимость сбросить стейт),
- детектить потенциальные ошибки или аномалии,
- слегка уточнять результаты сложного пайплайна,
- роутить инпут между компонентами,
- заполнять недостающий параметр, если в API вдруг не приходит какое-то поле, а менять что-то на клиенте слишком дорого,
- подсвечивать потенциальные проблемы человекам in the loop.
Этой модели никогда нет в изначальном дизайне: если проблема была бы заметна изначально, она бы зачастую решалась элегантнее - например, добавлением дополнительной головы в основную модель. Она появляется, когда все вроде почти работает, и не хватает совсем чуть-чуть.
Вот сейчас у меня есть матрица расстояний в чем-то вроде матчинга, и нужно оценивать уверенность матча, потому что иногда лучше ответить ничего, чем неправильно. Сначала берешь собственно дистанцию, потом хочется добавить еще пару эвристик типа расстояния до second best кандидата, их нужно как-то взвешивать... Так что не надо брезговать классикой, и умение выжать лишний процент из линейной модели все еще полезно.
- определять резкую смену контекста (и необходимость сбросить стейт),
- детектить потенциальные ошибки или аномалии,
- слегка уточнять результаты сложного пайплайна,
- роутить инпут между компонентами,
- заполнять недостающий параметр, если в API вдруг не приходит какое-то поле, а менять что-то на клиенте слишком дорого,
- подсвечивать потенциальные проблемы человекам in the loop.
Этой модели никогда нет в изначальном дизайне: если проблема была бы заметна изначально, она бы зачастую решалась элегантнее - например, добавлением дополнительной головы в основную модель. Она появляется, когда все вроде почти работает, и не хватает совсем чуть-чуть.
Вот сейчас у меня есть матрица расстояний в чем-то вроде матчинга, и нужно оценивать уверенность матча, потому что иногда лучше ответить ничего, чем неправильно. Сначала берешь собственно дистанцию, потом хочется добавить еще пару эвристик типа расстояния до second best кандидата, их нужно как-то взвешивать... Так что не надо брезговать классикой, и умение выжать лишний процент из линейной модели все еще полезно.
Forwarded from partially unsupervised
Наткнулся на пост Top Python libraries of 2024, и набор библиотек в очередной раз затрагивает давно наболевшие топики:
1) несовершенство языка и пакетного менеджера (
2) все низкоуровневые штуки продолжают переписывать на rust;
3) главная проблема и в LLM-driven мире осталась все той же - перегонять данные из формата в формат, только к привычным HTML/JSON/markdown/датаклассам добавляются попытки сделать LLM-native форматы (BAML), LLM-native датаклассы (PydanticAI) etc.
Правда, из всего списка сколько-то массовый адопшен случился пока только у uv.
1) несовершенство языка и пакетного менеджера (
uv вместо pip, Whenever как лучший datetime, streamable как альтернатива встроенным коллекциям, очередной генератор/валидатор типов...);2) все низкоуровневые штуки продолжают переписывать на rust;
3) главная проблема и в LLM-driven мире осталась все той же - перегонять данные из формата в формат, только к привычным HTML/JSON/markdown/датаклассам добавляются попытки сделать LLM-native форматы (BAML), LLM-native датаклассы (PydanticAI) etc.
Правда, из всего списка сколько-то массовый адопшен случился пока только у uv.
#hardware #inference
"В рамках конференции Cloud Next на этой неделе компания Google представила новый специализированный ИИ-чип Ironwood. Это уже седьмое поколение ИИ-процессоров компании и первый TPU, оптимизированный для инференса — работы уже обученных ИИ-моделей. Процессор будет использоваться в Google Cloud и поставляться в системах двух конфигураций: серверах из 256 таких процессоров и кластеров из 9216 таких чипов.
Анонс Ironwood состоялся на фоне усиливающейся конкуренции в сегменте разработок проприетарных ИИ-ускорителей. Хотя Nvidia доминирует на этом рынке, свои технологические решения также продвигают Amazon и Microsoft. Первая разработала ИИ-процессоры Trainium, Inferentia и Graviton, которые используются в её облачной инфраструктуре AWS, а Microsoft применяет собственные ИИ-чипы Cobalt 100 в облачных инстансах Azure.
Ironwood обладает пиковой вычислительной производительностью 4614 Тфлопс или 4614 триллионов операций в секунду. Таким образом кластер из 9216 таких чипов предложит производительность в 42,5 Экзафлопс.
Каждый процессор оснащён 192 Гбайт выделенной оперативной памяти с пропускной способностью 7,4 Тбит/с. Также чип включает усовершенствованное специализированное ядро SparseCore для обработки типов данных, распространённых в рабочих нагрузках «расширенного ранжирования» и «рекомендательных систем» (например, алгоритм, предлагающий одежду, которая может вам понравиться). Архитектура TPU оптимизирована для минимизации перемещения данных и задержек, что, по утверждению Google, приводит к значительной экономии энергии.
Компания планирует использовать Ironwood в своём модульном вычислительном кластере AI Hypercomputer в составе Google Cloud."
https://3dnews.ru/1121018/google-predstavila-svoy-samiy-moshchniy-iiprotsessor-ironwood-do-46-kvadrilliona-operatsiy-v-sekundu
"В рамках конференции Cloud Next на этой неделе компания Google представила новый специализированный ИИ-чип Ironwood. Это уже седьмое поколение ИИ-процессоров компании и первый TPU, оптимизированный для инференса — работы уже обученных ИИ-моделей. Процессор будет использоваться в Google Cloud и поставляться в системах двух конфигураций: серверах из 256 таких процессоров и кластеров из 9216 таких чипов.
Анонс Ironwood состоялся на фоне усиливающейся конкуренции в сегменте разработок проприетарных ИИ-ускорителей. Хотя Nvidia доминирует на этом рынке, свои технологические решения также продвигают Amazon и Microsoft. Первая разработала ИИ-процессоры Trainium, Inferentia и Graviton, которые используются в её облачной инфраструктуре AWS, а Microsoft применяет собственные ИИ-чипы Cobalt 100 в облачных инстансах Azure.
Ironwood обладает пиковой вычислительной производительностью 4614 Тфлопс или 4614 триллионов операций в секунду. Таким образом кластер из 9216 таких чипов предложит производительность в 42,5 Экзафлопс.
Каждый процессор оснащён 192 Гбайт выделенной оперативной памяти с пропускной способностью 7,4 Тбит/с. Также чип включает усовершенствованное специализированное ядро SparseCore для обработки типов данных, распространённых в рабочих нагрузках «расширенного ранжирования» и «рекомендательных систем» (например, алгоритм, предлагающий одежду, которая может вам понравиться). Архитектура TPU оптимизирована для минимизации перемещения данных и задержек, что, по утверждению Google, приводит к значительной экономии энергии.
Компания планирует использовать Ironwood в своём модульном вычислительном кластере AI Hypercomputer в составе Google Cloud."
https://3dnews.ru/1121018/google-predstavila-svoy-samiy-moshchniy-iiprotsessor-ironwood-do-46-kvadrilliona-operatsiy-v-sekundu
3DNews - Daily Digital Digest
Google представила свой самый мощный ИИ-процессор Ironwood — до 4,6 квадриллиона операций в секунду
В рамках конференции Cloud Next на этой неделе компания Google представила новый специализированный ИИ-чип Ironwood. Это уже седьмое поколение ИИ-процессоров компании и первый TPU, оптимизированный для инференса — работы уже обученных ИИ-моделей. Процессор…
#criminology
Почему бы и да!
"Министерство юстиции Великобритании ведёт разработку алгоритма, предназначенного для выявления людей, которые могут стать убийцами. В рамках «Проекта по прогнозированию убийств» (Homicide Prediction Project) используются данные британской полиции — вероятно, включая информацию о жертвах, свидетелях и подозреваемых."
https://3dnews.ru/1121002/osoboe-mnenie-stalo-realnostyu-britanskie-vlasti-sozdadut-algoritm-dlya-poiska-potentsialnih-ubiyts
Почему бы и да!
"Министерство юстиции Великобритании ведёт разработку алгоритма, предназначенного для выявления людей, которые могут стать убийцами. В рамках «Проекта по прогнозированию убийств» (Homicide Prediction Project) используются данные британской полиции — вероятно, включая информацию о жертвах, свидетелях и подозреваемых."
https://3dnews.ru/1121002/osoboe-mnenie-stalo-realnostyu-britanskie-vlasti-sozdadut-algoritm-dlya-poiska-potentsialnih-ubiyts
3DNews - Daily Digital Digest
«Особое мнение» стало реальностью: британские власти создадут алгоритм для поиска потенциальных убийц
Министерство юстиции Великобритании ведёт разработку алгоритма, предназначенного для выявления людей, которые могут стать убийцами.
🤡1
#timeseries
Неглубокий, но качественный доклад. Из интересного: лаги для комбинаций категорией, кастомные лоссы для бустинга. Оптуна и Шап.
https://www.youtube.com/watch?v=MF3ZNET89F0
Неглубокий, но качественный доклад. Из интересного: лаги для комбинаций категорией, кастомные лоссы для бустинга. Оптуна и Шап.
https://www.youtube.com/watch?v=MF3ZNET89F0
YouTube
Optimizing Ad Conversions with DS / Yael Kiselman (DigitalTurbine)
DigitalTurbine is a leading brand in the mobile advertising industry.
In this talk Yael Kiselman (DS at DigitalTurbine) would share a few tips and tricks optimizing mobile app recommendation on the DT On-Device product.
Yael would share:
- The use of XGBoost…
In this talk Yael Kiselman (DS at DigitalTurbine) would share a few tips and tricks optimizing mobile app recommendation on the DT On-Device product.
Yael would share:
- The use of XGBoost…
#polars #deltalake #deltars
По сути, deltalake - это субд на паркетных файлах и поларсе, с версионированием изменений и time travel.
Есть компактификация/речанкинг маленьких файлов, "бесшовная" работа с облаком, даже ADIC транзакции.
https://youtu.be/ZIrq9GsN2HM?si=SPDEsBoqvQVxZnBO
По сути, deltalake - это субд на паркетных файлах и поларсе, с версионированием изменений и time travel.
Есть компактификация/речанкинг маленьких файлов, "бесшовная" работа с облаком, даже ADIC транзакции.
https://youtu.be/ZIrq9GsN2HM?si=SPDEsBoqvQVxZnBO
YouTube
Liam Brannigan - Build simple & scalable data pipelines with Polars & DeltaLake | PyData Global 2024
www.pydata.org
Data scientists in the real world have to manage messy datasets that evolve over time. New data must be added, old data must be removed and changes to columns must be handled gracefully. Furthermore, many real world datasets grow from a size…
Data scientists in the real world have to manage messy datasets that evolve over time. New data must be added, old data must be removed and changes to columns must be handled gracefully. Furthermore, many real world datasets grow from a size…
#polars
Тонкость, что maintain_order предпочтительное пост-сортировки в group_by.
https://youtu.be/CJ0f45evuME
Тонкость, что maintain_order предпочтительное пост-сортировки в group_by.
https://youtu.be/CJ0f45evuME
#pandas #dask #polars
Интересное сравнительное тестирjвание, в т.ч пандаса с разными бэкендами - нампай и эрроу, + с Copy On Write. Про dask-expr я даже не знал.
https://www.youtube.com/watch?v=IGgh9Aj9qiE
Интересное сравнительное тестирjвание, в т.ч пандаса с разными бэкендами - нампай и эрроу, + с Copy On Write. Про dask-expr я даже не знал.
https://www.youtube.com/watch?v=IGgh9Aj9qiE
YouTube
Ian Ozsvald & Giles Weaver - Pandas 2, Dask or Polars? Tackling larger data on a single machine
www.pydata.org
Pandas 2 brings new Arrow data types, faster calculations and better scalability. Dask scales Pandas across cores and recently released a new "expressions" optimization for faster computations. Polars is a new competitor to Pandas designed…
Pandas 2 brings new Arrow data types, faster calculations and better scalability. Dask scales Pandas across cores and recently released a new "expressions" optimization for faster computations. Polars is a new competitor to Pandas designed…
#polars #books
Вот есть явно хорошая книжка, "Effective Polars: Optimized Data Manipulation".
Уже даже пройтись по примерам кода очень полезно, покрывает, наверное, 85% информации из книги.
Можно узнать про такие способности поларс:
https://www.amazon.com/Effective-Polars-Optimized-Manipulation-Treading
Вот есть явно хорошая книжка, "Effective Polars: Optimized Data Manipulation".
Уже даже пройтись по примерам кода очень полезно, покрывает, наверное, 85% информации из книги.
Можно узнать про такие способности поларс:
>>> def standardize(col):
... return (col - col.mean()) / col.std()
>>> print(autos
... .filter(standardize(pl.col('city08')) > 3)
... .select(['year', 'make', 'model', 'VClass', 'city08'])
... )
More Filtering with Window Expressions
>>> print(autos
... .with_columns(
... model_age=(pl.col('year').max() - pl.col('year').min())
... .over('model'))
... )
>>> print(autos
... .select(pl.all().is_null().mean() * 100)
... )
>>> print(autos
... .with_columns(pl.col('make').cast(pl.String))
... .sort(by=pl.col('make').str.len_chars())
... )
... .filter(~pl.all_horizontal(pl.col('devil', 'snake').is_null()))
... .plot(x='datetime', y=['devil', 'snake'], rot=45, noscript='Gage Height',
... width=1800, height=600)
Using XGBoost to Predict Mileage
>>> import polars.selectors as cs
>>> X = (autos
... .select(cs.numeric() - cs.matches('(city08|highway08)'))
... )
>>> y = (autos.select(pl.col('city08')))
https://www.amazon.com/Effective-Polars-Optimized-Manipulation-Treading
GitHub
effective_polars_book/polars-github.ipynb at main · mattharrison/effective_polars_book
Code and materials for Effective Polars book. Contribute to mattharrison/effective_polars_book development by creating an account on GitHub.
#animals
"Благодаря десятилетиям подводных записей исследователям удалось связать некоторые базовые действия с определёнными звуками. Например, им удалось выявить характерные свисты, которые, по-видимому, используются как имена, что позволяет двум особям находить друг друга на большом расстоянии. Дельфины также постоянно издают звуковые паттерны, названные учёными «пронзительный крик», во время конфликтов.
Конечная цель WDP — заговорить на дельфиньем языке, если он действительно существует. Это стремление привело к созданию огромного, тщательно размеченного набора данных, который слишком трудоёмок для анализа человеком, но, по словам Google, идеально подходит для обработки с помощью генеративного ИИ.
Генеративная ИИ-модель DolphinGemma основана на открытых моделях искусственного интеллекта Gemma от Google. Она использует разработанную Google аудиотехнологию SoundStream. Модель была обучена с использованием акустического архива проекта Wild Dolphin. Команда надеется, что DolphinGemma поможет выявить сложные закономерности, которые позволят создать общий словарь.
DolphinGemma работает так же, как языковые модели, ориентированные на человека: она получает запрос и предсказывает следующий токен. Учёные полагают, что эти предсказанные токены могут оказаться звуковыми последовательностями, которые будут поняты дельфинами."
https://3dnews.ru/1121267/google-sozdala-iimodel-dolphingemma-dlya-obshcheniya-s-delfinami
"Благодаря десятилетиям подводных записей исследователям удалось связать некоторые базовые действия с определёнными звуками. Например, им удалось выявить характерные свисты, которые, по-видимому, используются как имена, что позволяет двум особям находить друг друга на большом расстоянии. Дельфины также постоянно издают звуковые паттерны, названные учёными «пронзительный крик», во время конфликтов.
Конечная цель WDP — заговорить на дельфиньем языке, если он действительно существует. Это стремление привело к созданию огромного, тщательно размеченного набора данных, который слишком трудоёмок для анализа человеком, но, по словам Google, идеально подходит для обработки с помощью генеративного ИИ.
Генеративная ИИ-модель DolphinGemma основана на открытых моделях искусственного интеллекта Gemma от Google. Она использует разработанную Google аудиотехнологию SoundStream. Модель была обучена с использованием акустического архива проекта Wild Dolphin. Команда надеется, что DolphinGemma поможет выявить сложные закономерности, которые позволят создать общий словарь.
DolphinGemma работает так же, как языковые модели, ориентированные на человека: она получает запрос и предсказывает следующий токен. Учёные полагают, что эти предсказанные токены могут оказаться звуковыми последовательностями, которые будут поняты дельфинами."
https://3dnews.ru/1121267/google-sozdala-iimodel-dolphingemma-dlya-obshcheniya-s-delfinami
3DNews - Daily Digital Digest
Google создала ИИ-модель DolphinGemma для общения с дельфинами
Дельфины считаются одними из самых умных существ на планете.
#polars
Книжка сама не очень, кстати, я читал. Собственно, и доклад не блещет инсайтами, зато приводится профит от перехода на поларс в конкретно взятом проекте. Расходы на расчёты снизились с 120 до 4 тыс баксов.
https://www.youtube.com/watch?v=B2Ljp2Fb-l0
Книжка сама не очень, кстати, я читал. Собственно, и доклад не блещет инсайтами, зато приводится профит от перехода на поларс в конкретно взятом проекте. Расходы на расчёты снизились с 120 до 4 тыс баксов.
https://www.youtube.com/watch?v=B2Ljp2Fb-l0
YouTube
Janssens & Nieuwdorp - What we learned by converting a large codebase from Pandas to Polars
www.pydata.org
In this talk, we'll share our experience of converting a substantial data processing codebase from Pandas to Polars. We’ll discuss the motivations behind the switch, the challenges faced during the transition, and the significant performance…
In this talk, we'll share our experience of converting a substantial data processing codebase from Pandas to Polars. We’ll discuss the motivations behind the switch, the challenges faced during the transition, and the significant performance…
#featureselection #shap #shapselect
Типа несколько новый подход к отбору признаков.
То же RFCE, на авторы почему-то скромно выделяют свой подход прямо в отдельный класс.
Фишка в том, что по shap-значениям признаков на таргет строится отдельная регрессия. Признаки с незначимымы или отрицательными коэф-тами этой регрессии удаляются. Мне пока неясно, какие это даёт преимущества по сравнению просто с расчётом среднего и отклонений шап-значений признаков по всем примерам.
"Экспериментальная проверка", которую эти мощные учёные проводят в конце статьи, по глубине, достоверности и ширине охвата сравнима со школьным экспериментом по пуканью на зажигалку - один датасет, одна модель, один сид.
Но, может, я чего-то не понимаю, и это крутая идея?
https://www.youtube.com/watch?v=pmqvyrIyB_8
Типа несколько новый подход к отбору признаков.
То же RFCE, на авторы почему-то скромно выделяют свой подход прямо в отдельный класс.
Фишка в том, что по shap-значениям признаков на таргет строится отдельная регрессия. Признаки с незначимымы или отрицательными коэф-тами этой регрессии удаляются. Мне пока неясно, какие это даёт преимущества по сравнению просто с расчётом среднего и отклонений шап-значений признаков по всем примерам.
"Экспериментальная проверка", которую эти мощные учёные проводят в конце статьи, по глубине, достоверности и ширине охвата сравнима со школьным экспериментом по пуканью на зажигалку - один датасет, одна модель, один сид.
Но, может, я чего-то не понимаю, и это крутая идея?
https://www.youtube.com/watch?v=pmqvyrIyB_8