Spec-Zone.ru › scikit-learn

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: Добавлены значения с плавающей точкой для дробей.

min_samples_leafint или float, по умолчанию=1

Минимальное количество образцов, необходимых для нахождения в листе. Точка разделения на любой глубине рассматривается только в том случае, если она оставляет не менее min_samples_leaf обучающих образцов в каждой из левой и правой ветвей. Это может привести к сглаживанию модели, особенно в регрессии.

  • Если int, то рассматривается min_samples_leaf как минимальное число.
  • Если float, то min_samples_leaf является дробью, а ceil(min_samples_leaf * n_samples) — минимальное количество образцов для каждого узла.

Изменено в версии 0.18: Добавлены значения с плавающей точкой для дробей.

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_список массивов

Подмножество выбранных образцов для каждого базового оценщика.

См. также

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)

Преобразованный набор данных.

Примеры из галереи

Преобразования признаков с помощью ансамблей деревьев

Преобразование признаков с помощью хэширования, используя полностью случайные деревья

Обучение многообразию на рукописных цифрах: Вложение локально-линейных, Isomap…

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API