RandomTreesEmbedding
- classsklearn.ensemble.RandomTreesEmbedding(n_estimators=100, *, max_depth=5, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_leaf_nodes=None, min_impurity_decrease=0.0, sparse_output=True, n_jobs=None, random_state=None, verbose=0, warm_start=False)[исходный код]
-
Ансамбль полностью случайных деревьев.
Ненадзорное преобразование набора данных в разреженное представление высокой размерности. Точка данных кодируется в соответствии с тем, в какой лист попадает каждое дерево. При использовании one-hot-кодирования листьев получается двоичное кодирование, в котором число единиц равно числу деревьев в лесу.
Размерность полученного представления равна
n_out <= n_estimators * max_leaf_nodes. Еслиmax_leaf_nodes == None, число листовых узлов не превышаетn_estimators * 2 ** max_depth.Пример применения встраивания с помощью случайных деревьев для нелинейной классификации см. в разделе Хеширующее преобразование признаков с использованием полностью случайных деревьев.
Подробнее см. в руководстве пользователя.
- Параметры:
-
- n_estimatorsint, default=100
-
Число деревьев в лесу.
Изменено в версии 0.22: Значение по умолчанию для
n_estimatorsизменено с 10 на 100 в версии 0.22. - max_depthint, default=5
-
Максимальная глубина каждого дерева. Если значение равно None, узлы расширяются до тех пор, пока все листья не станут чистыми или пока в каждом листе не останется меньше образцов, чем значение min_samples_split.
- min_samples_splitint or float, default=2
-
Минимальное число образцов, необходимое для разделения внутреннего узла:
- Если задано целое число,
min_samples_splitсчитается минимальным числом. - Если задано число с плавающей точкой,
min_samples_splitявляется долей, аceil(min_samples_split * n_samples)— минимальным числом образцов для каждого разделения.
Изменено в версии 0.18: Добавлена возможность задавать доли числами с плавающей точкой.
- Если задано целое число,
- min_samples_leafint or float, default=1
-
Минимальное число образцов, необходимое для размещения в листовом узле. Точка разделения на любой глубине будет рассматриваться, только если в каждой из левой и правой ветвей останется не менее
min_samples_leafобучающих образцов. Это может сгладить модель, особенно в задаче регрессии.- Если задано целое число,
min_samples_leafсчитается минимальным числом. - Если задано число с плавающей точкой,
min_samples_leafявляется долей, аceil(min_samples_leaf * n_samples)— минимальным числом образцов для каждого узла.
Изменено в версии 0.18: Добавлена возможность задавать доли числами с плавающей точкой.
- Если задано целое число,
- min_weight_fraction_leaffloat, default=0.0
-
Минимальная взвешенная доля суммарного веса (всех входных образцов), необходимая для размещения в листовом узле. Если параметр sample_weight не задан, все образцы имеют одинаковый вес.
- max_leaf_nodesint, default=None
-
Выращивать деревья с
max_leaf_nodesв порядке наилучшего результата. Наилучшие узлы определяются относительным уменьшением неоднородности. Если значение равно None, число листовых узлов не ограничено. - min_impurity_decreasefloat, default=0.0
-
Узел будет разделен, если это разделение приводит к уменьшению неоднородности не менее чем на указанное значение.
Уравнение взвешенного уменьшения неоднородности имеет следующий вид:
N_t / N * (impurity - N_t_R / N_t * right_impurity - N_t_L / N_t * left_impurity)где
N— общее число образцов,N_t— число образцов в текущем узле,N_t_L— число образцов в левом дочернем узле, аN_t_R— число образцов в правом дочернем узле.N,N_t,N_t_RиN_t_Lобозначают взвешенные суммы, если передан параметрsample_weight.Добавлено в версии 0.19.
- sparse_outputbool, default=True
-
Определяет, возвращать ли разреженную матрицу CSR (поведение по умолчанию) или плотный массив, совместимый с операторами плотных конвейеров.
- n_jobsint, default=None
-
Число заданий, выполняемых параллельно.
fit,transform,decision_pathиapplyвыполняются параллельно для деревьев. ЗначениеNoneсоответствует 1, если только не используется контекстjoblib.parallel_backend. Значение-1означает использование всех процессоров. Подробнее см. в глоссарии. - random_stateint, RandomState instance or None, default=None
-
Управляет генерацией случайных
y, используемых для обучения деревьев, а также выбором разделений для каждого признака в узлах деревьев. Подробнее см. в глоссарии. - verboseint, default=0
-
Управляет подробностью вывода при обучении и предсказании.
- warm_startbool, default=False
-
Если задано значение
True, повторно используется результат предыдущего вызова fit и в ансамбль добавляются новые оцениватели; в противном случае обучается совершенно новый лес. Подробнее см. в глоссарии и разделе Обучение дополнительных деревьев.
- Атрибуты:
-
-
estimator_экземпляр
ExtraTreeRegressor -
Шаблон дочернего оценивателя, используемый для создания коллекции обученных подоценивателей.
Добавлено в версии 1.2: Название
base_estimator_изменено наestimator_. -
estimators_список экземпляров
ExtraTreeRegressor -
Коллекция обученных подоценивателей.
-
feature_importances_ndarray формы (n_features,) -
Важности признаков, основанные на неоднородности.
- n_features_in_int
-
Число признаков, полученных при вызове fit.
Добавлено в версии 0.24.
-
feature_names_in_ndarray формы (
n_features_in_,) -
Названия признаков, полученные при вызове fit. Определяется, только если
Xсодержит названия признаков, представленные строками.Добавлено в версии 1.0.
- n_outputs_int
-
Число выходных данных при выполнении
fit. - one_hot_encoder_экземпляр OneHotEncoder
-
One-hot-кодировщик, используемый для создания разреженного встраивания.
-
estimators_samples_список массивов -
Подмножество выбранных образцов для каждого базового оценивателя.
-
estimator_экземпляр
См. также
ExtraTreesClassifier-
Классификатор на основе сверхслучайных деревьев.
ExtraTreesRegressor-
Регрессор на основе сверхслучайных деревьев.
RandomForestClassifier-
Классификатор на основе случайного леса.
RandomForestRegressor-
Регрессор на основе случайного леса.
sklearn.tree.ExtraTreeClassifier-
Классификатор на основе чрезвычайно рандомизированного дерева.
sklearn.tree.ExtraTreeRegressor-
Регрессор на основе чрезвычайно рандомизированного дерева.
Литература
[1]P. Geurts, D. Ernst., and L. Wehenkel, «Extremely randomized trees», Machine Learning, 63(1), 3–42, 2006.
[2]Moosmann, F. and Triggs, B. and Jurie, F. «Fast discriminative visual codebooks using randomized clustering forests» NIPS 2007.
Примеры
>>> from sklearn.ensemble import RandomTreesEmbedding >>> X = [[0,0], [1,0], [0,1], [-1,0], [0,-1]] >>> random_trees = RandomTreesEmbedding( ... n_estimators=5, random_state=0, max_depth=1).fit(X) >>> X_sparse_embedding = random_trees.transform(X) >>> X_sparse_embedding.toarray() array([[0., 1., 1., 0., 1., 0., 0., 1., 1., 0.], [0., 1., 1., 0., 1., 0., 0., 1., 1., 0.], [0., 1., 0., 1., 0., 1., 0., 1., 0., 1.], [1., 0., 1., 0., 1., 0., 1., 0., 1., 0.], [0., 1., 1., 0., 1., 0., 0., 1., 1., 0.]])- apply(X)[исходный код]
-
Применить деревья леса к X и вернуть индексы листьев.
- Параметры:
-
- X{array-like, sparse matrix} формы (n_samples, n_features)
-
Входные образцы. Внутри dtype будет преобразован в
dtype=np.float32. Если передана разреженная матрица, она будет преобразована в разреженнуюcsr_matrix.
- Возвращает:
-
- X_leavesndarray формы (n_samples, n_estimators)
-
Для каждой точки данных x из X и каждого дерева в лесу вернуть индекс листа, в который попадает x.
- decision_path(X)[исходный код]
-
Вернуть путь принятия решений в лесу.
Добавлено в версии 0.18.
- Параметры:
-
- X{array-like, sparse matrix} формы (n_samples, n_features)
-
Входные образцы. Внутри dtype будет преобразован в
dtype=np.float32. Если передана разреженная матрица, она будет преобразована в разреженнуюcsr_matrix.
- Возвращает:
-
- indicatorразреженная матрица формы (n_samples, n_nodes)
-
Вернуть матрицу-индикатор узлов, в которой ненулевые элементы указывают, что образцы проходят через соответствующие узлы. Матрица имеет формат CSR.
- n_nodes_ptrndarray формы (n_estimators + 1,)
-
Столбцы indicator[n_nodes_ptr[i]:n_nodes_ptr[i+1]] содержат значения индикатора для i-го оценивателя.
- fit(X, y=None, sample_weight=None)[исходный код]
-
Обучить оцениватель.
- Параметры:
-
- X{array-like, sparse matrix} формы (n_samples, n_features)
-
Входные образцы. Для максимальной эффективности используйте
dtype=np.float32. Разреженные матрицы также поддерживаются; для максимальной эффективности используйте разреженнуюcsc_matrix. - yИгнорируется
-
Не используется; присутствует для согласованности API в соответствии с соглашением.
- sample_weightarray-like формы (n_samples,), default=None
-
Веса образцов. Если значение равно None, все образцы имеют одинаковый вес. При поиске разделения в каждом узле игнорируются разделения, которые создают дочерние узлы с нулевым или отрицательным суммарным весом. В задаче классификации также игнорируются разделения, при которых вес какого-либо отдельного класса в любом дочернем узле становится отрицательным.
- Возвращает:
-
- selfобъект
-
Возвращает сам экземпляр.
- fit_transform(X, y=None, sample_weight=None)[исходный код]
-
Обучить оцениватель и преобразовать набор данных.
- Параметры:
-
- X{array-like, sparse matrix} формы (n_samples, n_features)
-
Входные данные для построения лесов. Для максимальной эффективности используйте
dtype=np.float32. - yИгнорируется
-
Не используется; присутствует для согласованности API в соответствии с соглашением.
- sample_weightarray-like формы (n_samples,), default=None
-
Веса образцов. Если значение равно None, все образцы имеют одинаковый вес. При поиске разделения в каждом узле игнорируются разделения, которые создают дочерние узлы с нулевым или отрицательным суммарным весом. В задаче классификации также игнорируются разделения, при которых вес какого-либо отдельного класса в любом дочернем узле становится отрицательным.
- Возвращает:
-
- X_transformedразреженная матрица формы (n_samples, n_out)
-
Преобразованный набор данных.
- get_feature_names_out(input_features=None)[исходный код]
-
Получить названия выходных признаков после преобразования.
- Параметры:
-
- input_featuresarray-like из строк или None, default=None
-
Используется только для проверки названий признаков по названиям, полученным при вызове
fit.
- Возвращает:
-
- feature_names_outndarray из строковых объектов
-
Названия преобразованных признаков в формате
randomtreesembedding_{tree}_{leaf}, гдеtree— дерево, использованное для получения листа, аleaf— индекс листового узла в этом дереве. Обратите внимание, что схема индексации узлов используется как для узлов с дочерними узлами (узлов разделения), так и для листовых узлов. В выходных признаках могут присутствовать только последние. Поэтому в названиях выходных признаков есть пропущенные индексы.
- get_metadata_routing()[исходный код]
-
Получить настройки маршрутизации метаданных этого объекта.
О том, как работает механизм маршрутизации, см. в руководстве пользователя.
- Возвращает:
-
- routingMetadataRequest
-
Объект
MetadataRequest, содержащий информацию о маршрутизации.
- get_params(deep=True)[исходный код]
-
Получить параметры этого оценивателя.
- Параметры:
-
- deepbool, default=True
-
Если значение True, будут возвращены параметры этого оценивателя и содержащихся в нем подобъектов, которые являются оценивателями.
- Возвращает:
-
- paramsdict
-
Названия параметров, сопоставленные их значениям.
- set_fit_request(*, sample_weight:bool|None|str='$UNCHANGED$') RandomTreesEmbedding[исходный код]
-
Настроить запрос на передачу метаданных методу
fit.Обратите внимание, что этот метод актуален только в том случае, если данный оцениватель используется как подоцениватель внутри метаоценивателя и маршрутизация метаданных включена с помощью
enable_metadata_routing=True(см.sklearn.set_config). О том, как работает механизм маршрутизации, см. в руководстве пользователя.Для каждого параметра доступны следующие варианты:
-
True: метаданные запрашиваются и передаются вfit, если они предоставлены. Запрос игнорируется, если метаданные не предоставлены. -
False: метаданные не запрашиваются, и метаоцениватель не передает их вfit. -
None: метаданные не запрашиваются; если пользователь их предоставляет, метаоцениватель вызывает ошибку. -
str: метаданные передаются метаоценивателю под указанным псевдонимом вместо исходного названия.
Значение по умолчанию (
sklearn.utils.metadata_routing.UNCHANGED) сохраняет текущий запрос. Это позволяет изменять запрос для некоторых параметров, не затрагивая остальные.Добавлено в версии 1.3.
- Параметры:
-
- sample_weightstr, True, False или None, default=sklearn.utils.metadata_routing.UNCHANGED
-
Маршрутизация метаданных для параметра
sample_weightвfit.
- Возвращает:
-
- selfобъект
-
Обновленный объект.
-
- set_output(*, transform=None)[исходный код]
-
Задать контейнер выходных данных.
Подробнее см. в руководстве пользователя; пример использования API см. в разделе Знакомство с API set_output.
- Параметры:
-
- transform{“default”, “pandas”, “polars”}, default=None
-
Настроить формат выходных данных для
transformиfit_transform.-
"default": формат выходных данных преобразователя по умолчанию -
"pandas": вывод в формате DataFrame -
"polars": вывод в формате Polars -
None: конфигурация преобразования не изменяется
Добавлено в версии 1.4: Добавлен вариант
"polars". -
- Возвращает:
-
- selfэкземпляр оценивателя
-
Экземпляр оценивателя.
- set_params(**params)[исходный код]
-
Задать параметры этого оценивателя.
Метод работает как с простыми оценивателями, так и с вложенными объектами (например,
Pipeline). Параметры последних имеют вид<component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.- Параметры:
-
- **paramsdict
-
Параметры оценивателя.
- Возвращает:
-
- selfэкземпляр оценивателя
-
Экземпляр оценивателя.
- transform(X)[исходный код]
-
Преобразовать набор данных.
- Параметры:
-
- X{array-like, sparse matrix} of shape (n_samples, n_features)
-
Входные данные для преобразования. Для максимальной эффективности используйте
dtype=np.float32. Также поддерживаются разреженные матрицы; для максимальной эффективности используйте разреженный форматcsr_matrix.
- Возвращает:
-
- X_transformedsparse matrix of shape (n_samples, n_out)
-
Преобразованный набор данных.
Примеры в галерее
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.ensemble.RandomTreesEmbedding.html