Существует ли библиотека ml с реализацией деревьев ансамблей (RF или Boosted), которая позволяет рандомизированный выбор объектов (max_features в реализации sklearn RFR и GBR или colsample_bytree в реализации xgboost) на основе некоторой группировки функций, а не случайным образом полный набор функций, для каждого дерева.
Например, скажем, у меня есть 10 независимых функций, а именно (F1, .... F10), но эти функции могут быть сгруппированы на основе знаний предмета в 4 широких группах как
{## FG short for feature_group
FG1 : [F1, F2],
FG2: [F3, F4, F5],
FG3: [F6,F7,F8],
FG4: [F9, F10]
}
Теперь с настройкой max_feature = 0.2
в текущей методологии выбора рандомизированных объектов, каждое дерево получит любой из 10 выбранных 2 объектов из 10 объектов. Но я хочу ограничить выбор объектов на уровне группы, чтобы для одного дерева, если были выбраны FG1 и FG4, были выбраны все объекты в этих группах [F1, F2, F9, F10].
PS У меня есть Классификатор случайного леса уже создан, чтобы справиться с этим с помощью библиотеки ML-From-Scratch и найти значительный результат по сравнению со случайным выбором объектов, но использование шагов после моделирования, таких как MLI (shap или lime), является сложной задачей.