Spec-Zone.ru › scikit-learn

TransformedTargetRegressor

classsklearn.compose.TransformedTargetRegressor(regressor=None, *, transformer=None, func=None, inverse_func=None, check_inverse=True)[исходный код]

Мета-оцениватель для регрессии с преобразованной целевой переменной.

Полезен для применения нелинейного преобразования к целевой переменной 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.

Параметры:
regressorobject, default=None

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

transformerobject, default=None

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

funcfunction, default=None

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

inverse_funcfunction, default=None

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

check_inversebool, default=True

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

Атрибуты:
regressor_object

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

transformer_object

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

n_features_in_int

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

feature_names_in_ndarray of shape (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)[исходный код]

Обучение модели на заданных обучающих данных.

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

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

yarray-like of shape (n_samples,)

Целевые значения.

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

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

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

Обученный оцениватель.

get_metadata_routing()[исходный код]

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

Ознакомьтесь с руководством пользователя, чтобы узнать, как работает механизм маршрутизации.

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

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

MetadataRouter, содержащий сведения о маршрутизации.

get_params(deep=True)[исходный код]

Получение параметров этого оценивателя.

Параметры:
deepbool, default=True

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

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

Имена параметров и соответствующие им значения.

predict(X, **predict_params)[исходный код]

Прогнозирование с помощью базового регрессора с применением обратного преобразования.

Регрессор используется для прогнозирования, а перед возвратом прогноза применяется 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)[исходный код]

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

Коэффициент детерминации \(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.

Примечания

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

set_params(**params)[исходный код]

Задание параметров этого оценивателя.

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

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

Параметры оценивателя.

Возвращает:
selfestimator instance

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

set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') → TransformedTargetRegressor[исходный код]

Настройка запроса на передачу метаданных методу score.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Spec-Zone.ru

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