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
-
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