Spec-Zone.ru › scikit-learn

TransformedTargetRegressor

classsklearn.compose.TransformedTargetRegressor(regressor=None, *, transformer=None, func=None, inverse_func=None, check_inverse=True)[source]

Мета-оценщик для регрессии на преобразованную целевую переменную.

Полезно для применения нелинейного преобразования к целевой переменной y в задачах регрессии. Это преобразование может быть задано как преобразователь, например, QuantileTransformer, или как функция и её обратная функция, например, np.log и np.exp.

Вычисления во время fit:

regressor.fit(X, func(y))

или:

regressor.fit(X, transformer.transform(y))

Вычисления во время predict:

inverse_func(regressor.predict(X))

или:

transformer.inverse_transform(regressor.predict(X))

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

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

Параметры:
regressorобъект, по умолчанию=None

Объект регрессора, например, производный от RegressorMixin. Этот регрессор автоматически будет клонирован перед каждой подгонкой. Если regressor is None, будет создан и использован LinearRegression.

transformerобъект, по умолчанию=None

Объект преобразователя, например, производный от TransformerMixin. Не может быть задан одновременно с func и inverse_func. Если transformer is None наряду с func и inverse_func, преобразователь будет тождественным преобразователем. Обратите внимание, что преобразователь будет клонирован во время подгонки. Кроме того, преобразователь ограничивает y быть массивом NumPy.

funcфункция, по умолчанию=None

Функция для применения к y перед передачей в fit. Не может быть задан одновременно с transformer. Если func is None, используемая функция будет тождественной функцией. Если func задано, inverse_func также необходимо указать. Функция должна возвращать двумерный массив.

inverse_funcфункция, по умолчанию=None

Функция для применения к предсказанию регрессора. Не может быть задана одновременно с transformer. Обратная функция используется для возвращения предсказаний в то же пространство, что и исходные метки обучения. Если inverse_func задано, func также необходимо указать. Обратная функция должна возвращать двумерный массив.

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

Проверять, что transform за которым следует inverse_transform или func за которым следует inverse_func приводит к исходным целям.

Атрибуты:
regressor_объект

Обученный регрессор.

transformer_объект

Преобразователь, используемый в fit и predict.

n_features_in_int

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

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

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

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

См. также

sklearn.preprocessing.FunctionTransformer

Создать преобразователь из произвольной вызываемой функции.

Примечания

Внутренне, целевая переменная y всегда преобразуется в двумерный массив для использования с преобразователями scikit-learn. В момент предсказания вывод будет изменён, чтобы иметь такое же количество измерений, как y.

Примеры

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
>>> from sklearn.compose import TransformedTargetRegressor
>>> tt = TransformedTargetRegressor(regressor=LinearRegression(),
...                                 func=np.log, inverse_func=np.exp)
>>> X = np.arange(4).reshape(-1, 1)
>>> y = np.exp(2 * X).ravel()
>>> tt.fit(X, y)
TransformedTargetRegressor(...)
>>> tt.score(X, y)
1.0
>>> tt.regressor_.coef_
array([2.])

Для более подробного примера использования см. Эффект преобразования целевых переменных в модели регрессии.

fit(X, y, **fit_params)[source]

Обучить модель в соответствии с предоставленными данными обучения.

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

Вектор обучения, где n_samples — количество образцов, а n_features — количество признаков.

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

Значения целевых переменных.

**fit_paramsdict
  • Если enable_metadata_routing=False (по умолчанию): Параметры, напрямую передаваемые методу fit базового регрессора.
  • Если enable_metadata_routing=True: Параметры, безопасно перенаправляемые методу fit базового регрессора.

Изменено в версии 1.6: См. Руководство по передаче метаданных для получения дополнительной информации.

Возвращаемые значения:
selfобъект

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

get_metadata_routing()[source]

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

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

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

Возвращаемые значения:
routingMetadataRouter

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

get_params(deep=True)[source]

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

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

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

Возвращаемые значения:
paramsdict

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

propertyn_features_in_

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

END_OF_DOCUMENT_MARKER
predict(X, **predict_params)[source]

Предсказание с использованием базового регрессора, применяя обратное преобразование.

Регрессор используется для предсказания, и inverse_func или inverse_transform применяются перед возвращением предсказания.

Параметры:
X{array-like, sparse matrix} of shape (n_samples, n_features)

Образцы.

**predict_paramsdict of str -> object
  • Если enable_metadata_routing=False (по умолчанию): параметры напрямую передаются методу predict базового регрессора.
  • Если enable_metadata_routing=True: параметры безопасно передаются методу predict базового регрессора.

Изменено в версии 1.6: См. Руководство пользователя по маршрутизации метаданных для получения более подробной информации.

Возвращаемые значения:
y_hatndarray of shape (n_samples,)

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

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 of shape (n_samples, n_features)

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

yarray-like of shape (n_samples,) or (n_samples, n_outputs)

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

sample_weightarray-like of shape (n_samples,), default=None

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

Возвращаемые значения:
scorefloat

\(R^2\) self.predict(X) относительно y.

Примечания

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

set_params(**params)[source]

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

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

Параметры:
**paramsdict

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

Возвращаемые значения:
selfestimator instance

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

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

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

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

Доступные варианты для каждого параметра:

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

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

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

Примечание

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

Параметры:
sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

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

Возвращаемые значения:
selfobject

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

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

Регрессия Пуассона и ненормальные потери

Распространённые ошибки в интерпретации коэффициентов линейных моделей

Влияние преобразования целевых значений на модель регрессии

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

Spec-Zone.ru

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