Spec-Zone.ru › scikit-learn

ExtraTreeRegressor

classsklearn.tree.ExtraTreeRegressor(*, criterion='squared_error', splitter='random', max_depth=None, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features=1.0, random_state=None, min_impurity_decrease=0.0, max_leaf_nodes=None, ccp_alpha=0.0, monotonic_cst=None)[source]

Регрессор с экстремально случайными деревьями.

Экстремальные деревья отличаются от классических деревьев решений способом их построения. При поиске лучшего разбиения для разделения образцов узла на две группы для каждого из max_features случайным образом выбранных признаков генерируются случайные разбиения, и выбирается лучшее из них. Когда max_features установлено в 1, это эквивалентно построению полностью случайного дерева решений.

Предупреждение: экстремальные деревья следует использовать только в методах ансамблирования.

Подробнее см. в Руководстве пользователя.

Параметры:
criterion{“squared_error”, “friedman_mse”, “absolute_error”, “poisson”}, default=”squared_error”

Функция измерения качества разбиения. Поддерживаемые критерии: “squared_error” для среднеквадратичной ошибки, которая равна уменьшению дисперсии как критерий выбора признаков и минимизирует потерю L2, используя среднее значение каждого терминального узла, “friedman_mse”, который использует среднеквадратическую ошибку с улучшением оценки Фридмана для потенциальных разбиений, “absolute_error” для средней абсолютной ошибки, которая минимизирует потерю L1, используя медиану каждого терминального узла, и “poisson”, который использует уменьшение отклонения Пуассона для поиска разбиений.

Добавлена в версии 0.18: Критерий средней абсолютной ошибки (MAE).

Добавлена в версии 0.24: Критерий отклонения Пуассона.

splitter{“random”, “best”}, default=”random”

Стратегия, используемая для выбора разбиения в каждом узле. Поддерживаемые стратегии: “best” для выбора лучшего разбиения и “random” для выбора лучшего случайного разбиения.

max_depthint, default=None

Максимальная глубина дерева. Если None, то узлы расширяются до тех пор, пока все листья не будут чистыми или пока все листья не будут содержать менее чем min_samples_split образцов.

min_samples_splitint or float, default=2

Минимальное количество образцов, необходимое для разделения внутреннего узла:

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

Изменено в версии 0.18: Добавлены значения float для дробей.

min_samples_leafint or float, default=1

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

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

Изменено в версии 0.18: Добавлены значения float для дробей.

min_weight_fraction_leaffloat, default=0.0

Минимальная взвешенная доля от суммы весов (всех входных образцов), необходимая для наличия в листе. Образцы имеют равный вес, когда sample_weight не указан.

max_featuresint, float, {“sqrt”, “log2”} or None, default=1.0

Количество признаков для рассмотрения при поиске лучшего разбиения:

  • Если int, то рассматривается max_features признаков на каждом разбиении.
  • Если float, то max_features - это доля, и max(1, int(max_features * n_features_in_)) признаков рассматриваются на каждом разбиении.
  • Если “sqrt”, то max_features=sqrt(n_features).
  • Если “log2”, то max_features=log2(n_features).
  • Если None, то max_features=n_features.

Изменено в версии 1.1: Значение по умолчанию для max_features изменено с "auto" на 1.0.

Примечание: поиск разбиения не останавливается до тех пор, пока не будет найдено хотя бы одно допустимое разбиение образцов узла, даже если это потребует эффективного анализа более чем max_features признаков.

random_stateint, RandomState instance or None, default=None

Используется для случайного выбора max_features на каждом разбиении. См. Справочник для получения подробной информации.

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.

max_leaf_nodesint, default=None

Выращивает дерево с max_leaf_nodes в режиме поиска по наилучшему совпадению. Лучшие узлы определяются как относительное уменьшение неопределенности. Если None, то количество узлов листа не ограничено.

ccp_alphaнеотрицательное число с плавающей точкой, default=0.0

Параметр сложности, используемый для обрезки с минимальной стоимостью-сложности. Поддерево с наибольшей сложностью стоимости, меньшей чем ccp_alpha будет выбрано. По умолчанию обрезка не выполняется. См. Минимальная обрезка по сложности стоимости для получения подробной информации. См. Постобработка деревьев решений с обрезкой по сложности стоимости для примера такой обрезки.

Добавлена в версии 0.22.

monotonic_cstмассив-подобный int формы (n_features), default=None
Указывает монотонное ограничение, которое необходимо применить к каждому признаку.
  • 1: монотонно возрастает
  • 0: без ограничений
  • -1: монотонно убывает

Если monotonic_cst равно None, ограничения не применяются.

Ограничения монотонности не поддерживаются для:
  • регрессий с несколькими выходными значениями (т.е. когда n_outputs_ > 1),
  • регрессий, обученных на данных с пропущенными значениями.

Подробнее см. в Руководстве пользователя.

Добавлена в версии 1.4.

Атрибуты:
max_features_int

Установленное значение max_features.

n_features_in_int

Количество признаков, увиденных во время сопоставления.

Добавлена в версии 0.24.

feature_names_in_массив формы (n_features_in_,)

Имена признаков, увиденные во время сопоставления. Определены только тогда, когда у X есть имена признаков, которые все являются строками.

Добавлена в версии 1.0.

feature_importances_массив формы (n_features,)

Возвращает значения важности признаков.

n_outputs_int

Количество выходов, когда выполняется fit.

tree_экземпляр дерева

Базовый объект Tree. Пожалуйста, обратитесь к help(sklearn.tree._tree.Tree) для атрибутов объекта Tree и Понимание структуры дерева решений для базового использования этих атрибутов.

См. также

ExtraTreeClassifier

Классификатор с экстремально случайными деревьями.

sklearn.ensemble.ExtraTreesClassifier

Классификатор с экстремальными деревьями.

sklearn.ensemble.ExtraTreesRegressor

Регрессор с экстремальными деревьями.

Примечания

Значения параметров, контролирующих размер деревьев (например, max_depth, min_samples_leaf, и т. д.) по умолчанию приводят к полностью выращенным и не обрезким деревьям, которые могут быть очень большими для некоторых наборов данных. Для уменьшения потребления памяти размер и сложность деревьев должны контролироваться путем настройки значений этих параметров.

Ссылки

END_OF_DOCUMENT_MARKER
[1]

P. Geurts, D. Ernst., and L. Wehenkel, “Extremely randomized trees”, Machine Learning, 63(1), 3-42, 2006.

Примеры

>>> from sklearn.datasets import load_diabetes
>>> from sklearn.model_selection import train_test_split
>>> from sklearn.ensemble import BaggingRegressor
>>> from sklearn.tree import ExtraTreeRegressor
>>> X, y = load_diabetes(return_X_y=True)
>>> X_train, X_test, y_train, y_test = train_test_split(
...     X, y, random_state=0)
>>> extra_tree = ExtraTreeRegressor(random_state=0)
>>> reg = BaggingRegressor(extra_tree, random_state=0).fit(
...     X_train, y_train)
>>> reg.score(X_test, y_test)
0.33...
apply(X, check_input=True)[source]

Возвращает индекс листа, которому предсказывается каждый образец.

Добавлен в версии 0.17.

Параметры:
X{array-like, разреженная матрица} формы (n_samples, n_features)

Входные образцы. Внутри они будут преобразованы в dtype=np.float32, а если предоставлена разреженная матрица, то в разреженную csr_matrix.

check_inputbool, по умолчанию=True

Разрешает пропустить несколько проверок ввода. Не используйте этот параметр, если вы не знаете, что делаете.

Возвращает:
X_leavesarray-like формы (n_samples,)

Для каждого элемента данных x в X возвращает индекс листа, в который попадает x. Листы пронумерованы в [0; self.tree_.node_count), возможно, с пробелами в нумерации.

cost_complexity_pruning_path(X, y, sample_weight=None)[source]

Вычисляет путь обрезки во время обрезки минимальной стоимости и сложности.

См. Обрезка минимальной стоимости и сложности для получения подробностей о процессе обрезки.

Параметры:
X{array-like, разреженная матрица} формы (n_samples, n_features)

Обучающие входные образцы. Внутри они будут преобразованы в dtype=np.float32 и если предоставлена разреженная матрица, то в разреженную csc_matrix.

yarray-like формы (n_samples,) или (n_samples, n_outputs)

Целевые значения (метки классов) как целые числа или строки.

sample_weightarray-like формы (n_samples,), по умолчанию=None

Веса образцов. Если None, то образцы имеют одинаковый вес. Разбиения, которые создали бы узлы-потомки с чистым нулевым или отрицательным весом, игнорируются во время поиска разбиения в каждом узле. Разбиения также игнорируются, если они приведут к тому, что любой отдельный класс будет иметь отрицательный вес в любом узле-потомке.

Возвращает:
ccp_pathBunch

Объект типа словарь, с последующими атрибутами.

ccp_alphasndarray

Эффективные альфа-значения поддерева во время обрезки.

impuritiesndarray

Сумма нечистот листьев поддерева для соответствующего значения alpha в ccp_alphas.

decision_path(X, check_input=True)[source]

Возвращает путь принятия решения в дереве.

Добавлен в версии 0.18.

Параметры:
X{array-like, разреженная матрица} формы (n_samples, n_features)

Входные образцы. Внутри они будут преобразованы в dtype=np.float32 и если предоставлена разреженная матрица, то в разреженную csr_matrix.

check_inputbool, по умолчанию=True

Разрешает пропустить несколько проверок ввода. Не используйте этот параметр, если вы не знаете, что делаете.

Возвращает:
indicatorразреженная матрица формы (n_samples, n_nodes)

Возвращает матрицу указателей узлов в формате CSR, где ненулевые элементы указывают, что образцы проходят через узлы.

свойствоfeature_importances_

Возвращает важности признаков.

Важность признака вычисляется как (нормализованное) общее уменьшение критерия, принесенное этим признаком. Он также известен как важность Джини.

Предупреждение: важности признаков на основе нечистот могут быть вводящими в заблуждение для признаков с высокой кратностью (много уникальных значений). См. sklearn.inspection.permutation_importance в качестве альтернативы.

Возвращает:
feature_importances_ndarray формы (n_features,)

Нормализованное общее уменьшение критерия по признаку (важность Джини).

fit(X, y, sample_weight=None, check_input=True)[source]

Построение регрессора дерева решений из обучающего набора (X, y).

Параметры:
X{array-like, разреженная матрица} формы (n_samples, n_features)

Обучающие входные образцы. Внутри они будут преобразованы в dtype=np.float32 и если предоставлена разреженная матрица, то в разреженную csc_matrix.

yarray-like формы (n_samples,) или (n_samples, n_outputs)

Целевые значения (вещественные числа). Для максимальной эффективности используйте dtype=np.float64 и order='C'.

sample_weightarray-like формы (n_samples,), по умолчанию=None

Веса образцов. Если None, то образцы имеют одинаковый вес. Разбиения, которые создали бы узлы-потомки с чистым нулевым или отрицательным весом, игнорируются во время поиска разбиения в каждом узле.

check_inputbool, по умолчанию=True

Разрешает пропустить несколько проверок ввода. Не используйте этот параметр, если вы не знаете, что делаете.

Возвращает:
selfDecisionTreeRegressor

Обученный оценщик.

get_depth()[source]

Возвращает глубину дерева решений.

Глубина дерева — максимальное расстояние между корнем и любым листом.

Возвращает:
self.tree_.max_depthint

Максимальная глубина дерева.

get_metadata_routing()[source]

Получить маршрутизацию метаданных этого объекта.

Пожалуйста, ознакомьтесь с Руководством пользователя по тому, как работает механизм маршрутизации.

Возвращает:
маршрутизацияMetadataRequest

Объект MetadataRequest, содержащий информацию о маршрутизации.

get_n_leaves()[source]

Возвращает количество листьев дерева решений.

Возвращает:
self.tree_.n_leavesint

Количество листьев.

get_params(deep=True)[source]

Получить параметры этого оценщика.

Параметры:
deepbool, по умолчанию=True

Если True, вернет параметры этого оценщика и вложенных подобъектов, которые являются оценщиками.

Возвращает:
paramsdict

Имена параметров, сопоставленные со значениями.

predict(X, check_input=True)[source]

Предсказать класс или регрессионное значение для X.

Для классификационной модели возвращается предсказанный класс для каждого образца в X. Для регрессионной модели возвращается предсказанное значение на основе X.

Параметры:
X{array-like, разреженная матрица} формы (n_samples, n_features)

Входящие образцы. Внутренне он будет преобразован в dtype=np.float32 и, если предоставлена разреженная матрица, в разреженную csr_matrix.

check_inputbool, по умолчанию=True

Разрешает пропустить несколько проверок входных данных. Не используйте этот параметр, если вы не знаете, что делаете.

Возвращает:
yarray-like формы (n_samples,) или (n_samples, n_outputs)

Предсказанные классы или предсказанные значения.

score(X, y, sample_weight=None)[source]

Возвращает коэффициент детерминации предсказания.

Коэффициент детерминации \(R^2\) определяется как \((1 - \frac{u}{v})\), где \(u\) — остаточная сумма квадратов ((y_true - y_pred)** 2).sum() , а \(v\) — общая сумма квадратов ((y_true - y_true.mean()) ** 2).sum(). Лучшее возможное значение равно 1.0, и оно может быть отрицательным (поскольку модель может быть произвольно хуже). Постоянная модель, которая всегда предсказывает ожидаемое значение y, игнорируя входные признаки, получит значение \(R^2\) равное 0.0.

Параметры:
Xarray-like формы (n_samples, n_features)

Тестовые образцы. Для некоторых оценщиков это может быть предварительно вычисленная матрица ядра или список общих объектов вместо неё с формой (n_samples, n_samples_fitted), где n_samples_fitted — количество образцов, используемых в процессе обучения для оценщика.

yarray-like формы (n_samples,) или (n_samples, n_outputs)

Истинные значения для X.

sample_weightarray-like формы (n_samples,), по умолчанию=None

Веса образцов.

Возвращает:
scorefloat

\(R^2\) от self.predict(X) по отношению к y.

Примечания

Значение \(R^2\), используемое при вызове score для регрессора, использует multioutput='uniform_average' с версии 0.23 для сохранения согласованности со значением по умолчанию r2_score. Это влияет на метод score всех регрессоров с несколькими выходами (кроме MultiOutputRegressor).

set_fit_request(*, sample_weight:bool|None|str='$UNCHANGED$') → ExtraTreeRegressor[source]

Запрос метаданных, передаваемых в метод fit.

Обратите внимание, что этот метод актуален только если enable_metadata_routing=True (см. sklearn.set_config). Пожалуйста, ознакомьтесь со Руководством пользователя для понимания принципов работы механизма маршрутизации.

Возможные значения для каждого параметра:

  • True: метаданные запрашиваются и передаются в fit при их наличии. Запрос игнорируется, если метаданные не предоставлены.
  • False: метаданные не запрашиваются, и мета-оценщик не будет передавать их в fit.
  • None: метаданные не запрашиваются, и мета-оценщик выведет ошибку, если пользователь их предоставит.
  • str: метаданные должны быть переданы мета-оценщику с указанным псевдонимом вместо исходного имени.

По умолчанию (sklearn.utils.metadata_routing.UNCHANGED) сохраняется существующий запрос. Это позволяет изменять запрос для некоторых параметров, не затрагивая другие.

Добавлена в версии 1.3.

Примечание

Этот метод актуален только если данный оценщик используется как под-оценщик мета-оценщика, например, внутри Pipeline. В противном случае он не оказывает влияния.

Parameters:
sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

Маршрутизация метаданных для параметра sample_weight в fit.

Returns:
selfobject

Обновлённый объект.

set_params(**params)[source]

Устанавливает параметры данного оценщика.

Метод работает как с простыми оценщиками, так и с вложенными объектами (такими как Pipeline). Последние имеют параметры вида <component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.

Parameters:
**paramsdict

Параметры оценщика.

Returns:
selfэкземпляр оценщика

Экземпляр оценщика.

set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') → ExtraTreeRegressor[source]

Запрос метаданных, передаваемых в метод score.

Обратите внимание, что этот метод актуален только если enable_metadata_routing=True (см. sklearn.set_config). Пожалуйста, ознакомьтесь со Руководством пользователя для понимания принципов работы механизма маршрутизации.

Возможные значения для каждого параметра:

  • True: метаданные запрашиваются и передаются в score при их наличии. Запрос игнорируется, если метаданные не предоставлены.
  • False: метаданные не запрашиваются, и мета-оценщик не будет передавать их в score.
  • None: метаданные не запрашиваются, и мета-оценщик выведет ошибку, если пользователь их предоставит.
  • str: метаданные должны быть переданы мета-оценщику с указанным псевдонимом вместо исходного имени.

По умолчанию (sklearn.utils.metadata_routing.UNCHANGED) сохраняется существующий запрос. Это позволяет изменять запрос для некоторых параметров, не затрагивая другие.

Добавлена в версии 1.3.

Примечание

Этот метод актуален только если данный оценщик используется как под-оценщик мета-оценщика, например, внутри Pipeline. В противном случае он не оказывает влияния.

Parameters:
sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

Маршрутизация метаданных для параметра sample_weight в score.

Returns:
selfobject

Обновлённый объект.

© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.tree.ExtraTreeRegressor.html

Spec-Zone.ru

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