Допустим, я решил использовать метод ансамбля - если он будет иметь значение, мы будем использовать набор данных iris.Из доступных методов ансамбля мы сосредоточимся на параллельных методах, а из них мы возьмем агрегацию начальной загрузки, используя sklearn.
Sklearn реализует агрегацию начальной загрузки, используя BaggingClassifier
, который (в документации говорится о нас) является «метаоценщиком ансамбля, который соответствует базовым классификаторам…». Из этих базовых классификаторов давайте выберем RandomForestClassifier
, который сам по себе«Является метаоценкой, подходящей для ряда классификаторов дерева решений».
Агрегация начальной загрузки, как нам сказали, в основном представлена в четырех вариантах: пакетирование, вставка, случайные подпространства и случайные исправления.В BaggingClassifier
мы активируем каждый из этих четырех вариантов, манипулируя 4 из 11 параметров BaggingClassifier
, а именно: bootstrap_features
(True / False), bootstrap
(True / False), max_features
(= 1/ <1) и <code>max_samples (= 1 / <1). </p>
В sklearn, чтобы использовать BaggingClassifier
с RandomForestClassifier
, нам нужно:
clf = BaggingClassifier(RandomForestClassifier(parameters), parameters)
Получаетсячто из 17 параметров RandomForestClassifier
два совпадают с параметрами BaggingClassifier
: bootstrap
и max_features
.Хотя bootstrap
одинаково для BaggingClassifier
и RandomForestClassifier
(т. Е. Выборка с / без замены), я не уверен насчет max_features
.В BaggingClassifier
, max_features
- это «количество элементов, которые нужно нарисовать от Х до поезда», в данном случае RandomForestClassifier
.В то время как в RandomForestClassifier
это «количество функций, которые следует учитывать при поиске наилучшего разделения».
И это, наконец, подводит меня к вопросу: как мы координируем эти параметры в этих двух классификаторах так,мы можем получить четыре вида агрегации начальной загрузки в каждом из деревьев в случайном лесу?Я не просто спрашиваю, работает ли что-то вроде этого как аромат вставки:
clf=BaggingClassifier(RandomForestClassifier(bootstrap = False, max_features = 1.0),
bootstrap_features = False, bootstrap = False, max_features = 1.0, max_samples = 0.6 )
Я действительно пытаюсь понять, что происходит за кулисами, когда BaggingClassifier
вызывает RandomForestClassifier
со всемиэти параметры настроены на разные значения.