RandomTreesEmbedding
- классsklearn.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)[source]
-
Ансамбль полностью случайных деревьев.
Неконтролируемое преобразование набора данных в высокоразмерное разреженное представление. Точка данных кодируется в соответствии с тем, в какой лист каждого дерева она попадает. Использование одного-горящего кодирования листьев приводит к двоичному кодированию с количеством единиц, равным количеству деревьев в лесу.
Размерность полученного представления составляет
n_out <= n_estimators * max_leaf_nodes. Еслиmax_leaf_nodes == None, число узлов листа не превышаетn_estimators * 2 ** max_depth.Пример применения Random Trees Embedding к нелинейной классификации см. в Преобразование признаков с помощью полностью случайных деревьев.
Подробнее см. в Руководстве пользователя.
- Параметры:
-
- n_estimatorsint, по умолчанию=100
-
Количество деревьев в лесу.
Изменено в версии 0.22: Значение по умолчанию
n_estimatorsбыло изменено с 10 до 100 в версии 0.22. - max_depthint, по умолчанию=5
-
Максимальная глубина каждого дерева. Если None, узлы расширяются до тех пор, пока все листья не будут чистыми или пока все листья не будут содержать менее чем min_samples_split образцов.
- min_samples_splitint или float, по умолчанию=2
-
Минимальное количество образцов, необходимое для разделения внутреннего узла:
- Если int, то рассматривается
min_samples_splitкак минимальное число. - Если float, то
min_samples_splitявляется дробью, аceil(min_samples_split * n_samples)— минимальное количество образцов для каждого разделения.
Изменено в версии 0.18: Добавлены значения с плавающей точкой для дробей.
- Если int, то рассматривается
- min_samples_leafint или float, по умолчанию=1
-
Минимальное количество образцов, необходимых для нахождения в листе. Точка разделения на любой глубине рассматривается только в том случае, если она оставляет не менее
min_samples_leafобучающих образцов в каждой из левой и правой ветвей. Это может привести к сглаживанию модели, особенно в регрессии.- Если int, то рассматривается
min_samples_leafкак минимальное число. - Если float, то
min_samples_leafявляется дробью, аceil(min_samples_leaf * n_samples)— минимальное количество образцов для каждого узла.
Изменено в версии 0.18: Добавлены значения с плавающей точкой для дробей.
- Если int, то рассматривается
- min_weight_fraction_leaffloat, по умолчанию=0.0
-
Минимальная весовая доля от общей суммы весов (всех входных образцов), необходимая для нахождения в листе. Образцы имеют одинаковый вес, когда sample_weight не задан.
- max_leaf_nodesint, по умолчанию=None
-
Разрастание деревьев с
max_leaf_nodesв порядке «лучший-первый». Лучшие узлы определяются как относительное уменьшение примеси. Если None, то количество узлов листа не ограничено. - min_impurity_decreasefloat, по умолчанию=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, по умолчанию=True
-
Возвращать ли разреженную матрицу CSR, как по умолчанию, или возвращать плотный массив, совместимый с операторами плотного конвейера.
- n_jobsint, по умолчанию=None
-
Количество задач, выполняемых параллельно.
fit,transform,decision_pathиapplyвсе выполняются параллельно по деревьям.Noneозначает 1, если не в контекстеjoblib.parallel_backend.-1означает использование всех процессоров. См. Глоссарий для получения дополнительной информации. - random_stateint, RandomState instance или None, по умолчанию=None
-
Управляет генерацией случайных
y, используемых для обучения деревьев и выбора разделений для каждого признака в узлах деревьев. См. Глоссарий для получения подробностей. - verboseint, по умолчанию=0
-
Управляет подробностью вывода при обучении и предсказании.
- warm_startbool, по умолчанию=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
-
Используемый для создания разреженного вложения один-горящий кодировщик.
-
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)[source]
-
Применение деревьев в лесу к X, возвращение индексов листьев.
- Параметры:
-
- X{массив, разреженная матрица} формы (n_samples, n_features)
-
Входные образцы. Внутренне его тип данных будет преобразован в
dtype=np.float32. Если предоставлена разреженная матрица, она будет преобразована в разреженнуюcsr_matrix.
- Возвращает:
-
- X_leavesмассив формы (n_samples, n_estimators)
-
Для каждой точки данных x в X и для каждого дерева в лесу вернуть индекс листа, в который попадает x.
- decision_path(X)[source]
-
Возвращение пути принятия решения в лесу.
Добавлен в версии 0.18.
- Параметры:
-
- X{массив, разреженная матрица} формы (n_samples, n_features)
-
Входные образцы. Внутренне его тип данных будет преобразован в
dtype=np.float32. Если предоставлена разреженная матрица, она будет преобразована в разреженнуюcsr_matrix.
- Возвращает:
-
- indicatorразреженная матрица формы (n_samples, n_nodes)
-
Возвращает матрицу индикатора узлов, где ненулевые элементы указывают на то, что образцы проходят через узлы. Матрица имеет формат CSR.
- n_nodes_ptrмассив формы (n_estimators + 1,)
-
Столбцы от indicator[n_nodes_ptr[i]:n_nodes_ptr[i+1]] дают значение индикатора для i-го оценщика.
- свойствоestimators_samples_
-
Подмножество выбранных образцов для каждого базового оценщика.
Возвращает динамически генерируемый список индексов, определяющих образцы, используемые для обучения каждого члена ансамбля, т.е. образцы в выборке.
Примечание: список пересоздаётся при каждом вызове свойства, чтобы уменьшить занимаемую объектом память, не храня данные выборки. Таким образом, получение свойства может быть медленнее, чем ожидалось.
- свойствоfeature_importances_
-
Важности признаков, основанные на нечистоте.
Чем выше, тем важнее признак. Важность признака вычисляется как (нормализованное) общее уменьшение критерия, принесенное этим признаком. Также известно как важность Джини.
Предупреждение: основанные на нечистоте важности признаков могут вводить в заблуждение для признаков с высокой кардинальностью (много уникальных значений). См.
sklearn.inspection.permutation_importanceв качестве альтернативы.- Возвращает:
-
- feature_importances_массив формы (n_features,)
-
Значения этого массива суммируются до 1, если все деревья являются деревьями с одним узлом, состоящими только из корневого узла, в противном случае это будет массив нулей.
- fit(X, y=None, sample_weight=None)[source]
-
Обучение оценщика.
- Параметры:
-
- X{массив, разреженная матрица} формы (n_samples, n_features)
-
Входные образцы. Используйте
dtype=np.float32для максимальной эффективности. Поддерживаются также разреженные матрицы, используйте разреженныеcsc_matrixдля максимальной эффективности. - yИгнорируется
-
Не используется, присутствует для согласованности API по соглашению.
- sample_weightмассив формы (n_samples,), по умолчанию=None
-
Веса образцов. Если None, тогда образцы имеют одинаковый вес. Разбиения, которые создадут дочерние узлы с общим нулевым или отрицательным весом, игнорируются при поиске разбиения в каждом узле. В случае классификации разбиения также игнорируются, если они приведут к тому, что любой отдельный класс будет иметь отрицательный вес в любом дочернем узле.
- Возвращает:
-
- selfобъект
-
Возвращает сам экземпляр.
- fit_transform(X, y=None, sample_weight=None)[source]
-
Обучение оценщика и преобразование набора данных.
- Параметры:
-
- X{массив, разреженная матрица} формы (n_samples, n_features)
-
Входные данные, используемые для построения лесов. Используйте
dtype=np.float32для максимальной эффективности. - yИгнорируется
-
Не используется, присутствует для согласованности API по соглашению.
- sample_weightмассив формы (n_samples,), по умолчанию=None
-
Веса образцов. Если None, тогда образцы имеют одинаковый вес. Разбиения, которые создадут дочерние узлы с общим нулевым или отрицательным весом, игнорируются при поиске разбиения в каждом узле. В случае классификации разбиения также игнорируются, если они приведут к тому, что любой отдельный класс будет иметь отрицательный вес в любом дочернем узле.
- Возвращает:
-
- X_transformedразреженная матрица формы (n_samples, n_out)
-
Преобразованный набор данных.
- get_feature_names_out(input_features=None)[source]
-
Получение имен выходных признаков для преобразования.
- Параметры:
-
- input_featuresмассив из str или None, по умолчанию=None
-
Используется только для проверки имен признаков с именами, увиденными в
fit.
- Возвращает:
-
- feature_names_outмассив объектов str
-
Имена преобразованных признаков, в формате
randomtreesembedding_{tree}_{leaf}, гдеtree— дерево, использованное для генерации листа, иleaf— индекс узла листа в этом дереве. Обратите внимание, что схема индексации узлов используется для индексации узлов с дочерними элементами (узлов разбиения) и узлов листа. Последние могут присутствовать в качестве выходных признаков. Вследствие этого в выходных именах признаков отсутствуют индексы.
- get_metadata_routing()[source]
-
Получить маршрутизацию метаданных этого объекта.
Пожалуйста, ознакомьтесь с Руководством пользователя о том, как работает механизм маршрутизации.
- Возвращает:
-
- маршрутизацияMetadataRequest
-
Объект
MetadataRequest, содержащий информацию о маршрутизации.
- get_params(deep=True)[source]
-
Получить параметры этого оценщика.
- Параметры:
-
- deepbool, по умолчанию=True
-
Если True, вернет параметры этого оценщика и вложенных под-объектов, являющихся оценщиками.
- Возвращает:
-
- paramsdict
-
Названия параметров, сопоставленные со значениями.
- set_fit_request(*, sample_weight:bool|None|str='$UNCHANGED$') RandomTreesEmbedding[source]
-
Запрос метаданных, передаваемых методу
fit.Обратите внимание, что этот метод актуален только если
enable_metadata_routing=True(см.sklearn.set_config). Пожалуйста, ознакомьтесь с Руководством пользователя о том, как работает механизм маршрутизации.Варианты для каждого параметра:
-
True: запрашиваются метаданные и передаются методуfitпри наличии. Запрос игнорируется, если метаданные не предоставлены. -
False: метаданные не запрашиваются, и мета-оценщик не передаст их методуfit. -
None: метаданные не запрашиваются, и мета-оценщик вызовет ошибку, если пользователь их предоставит. -
str: метаданные должны быть переданы мета-оценщику с этим псевдонимом вместо исходного имени.
По умолчанию (
sklearn.utils.metadata_routing.UNCHANGED) сохраняется существующий запрос. Это позволяет изменить запрос для некоторых параметров, а не для других.Добавлен в версии 1.3.
Примечание
Этот метод актуален только если этот оценщик используется как под-оценщик мета-оценщика, например, внутри
Pipeline. В противном случае он не оказывает никакого эффекта.- Параметры:
-
- sample_weightstr, True, False, или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED
-
Маршрутизация метаданных для параметра
sample_weightв методеfit.
- Возвращает:
-
- selfobject
-
Обновленный объект.
-
- set_output(*, transform=None)[source]
-
Установить контейнер вывода.
См. Вводный пример API set_output для примера использования API.
- Параметры:
-
- transform{“default”, “pandas”, “polars”}, по умолчанию=None
-
Настроить вывод
transformиfit_transform.-
"default": Формат вывода по умолчанию преобразователя -
"pandas": Вывод в формате DataFrame -
"polars": Вывод в формате Polars -
None: Конфигурация преобразования не изменена
Добавлен в версии 1.4:
"polars"option was added. -
- Возвращает:
-
- selfэкземпляр оценщика
-
Экземпляр оценщика.
- set_params(**params)[source]
-
Установить параметры этого оценщика.
Метод работает как с простыми оценщиками, так и с вложенными объектами (такими как
Pipeline). Последние имеют параметры вида<component>__<parameter>, чтобы было возможно обновить каждый компонент вложенного объекта.- Параметры:
-
- **paramsdict
-
Параметры оценщика.
- Возвращает:
-
- selfэкземпляр оценщика
-
Экземпляр оценщика.
- transform(X)[source]
-
Преобразовать набор данных.
- Параметры:
-
- 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–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.ensemble.RandomTreesEmbedding.html