#27137#
- класс sklearn.compose.#27137(регрессор=None, *, преобразователь=None, функция=None, inverse_func=None, check_inverse=True)[источник]#
Мета-оценщик для регрессии на преобразованной цели.
Полезно для применения нелинейного преобразования к целевой переменной
yв задачах регрессии. Это преобразование может быть задано как Transformer, такой как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.
- Параметры:
- регрессорobject, default=None
Объект регрессора, такой как производный от
RegressorMixin. Этот регрессор будет автоматически клонироваться каждый раз перед обучением. Еслиregressor is None,LinearRegressionсоздается и используется.- преобразовательobject, default=None
Объект Estimator, такой как производный от
TransformerMixin. Не может быть установлен одновременно сfuncиinverse_func. Еслиtransformer is Noneа такжеfuncиinverse_funcтрансформер будет тождественным трансформером. Обратите внимание, что трансформер будет клонирован во время обучения. Также трансформер ограничиваетyдолжен быть массивом numpy.- функцияфункция, по умолчанию=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_object
Обученный регрессор.
- transformer_object
n_features_in_intКоличество признаков, замеченных во время fit.
- feature_names_in_ndarray формы (
n_features_in_,) Имена признаков, наблюдаемых во время fit. Определено только когда
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} формы (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: См. Руководство по маршрутизации метаданных для более подробной информации.
- Возвращает:
- selfobject
Обученный оценщик.
- 6332()[источник]#
Получить маршрутизацию метаданных этого объекта.
Пожалуйста, проверьте Руководство пользователя о том, как работает механизм маршрутизации.
Добавлено в версии 1.6.
- Возвращает:
- маршрутизацияMetadataRouter
A
MetadataRouterИнкапсуляция информации о маршрутизации.
- get_params(глубокий=True)[источник]#
Получить параметры для этого оценщика.
- Параметры:
- глубокийbool, по умолчанию=True
Если True, вернет параметры для этого оценщика и вложенных подобъектов, которые являются оценщиками.
- Возвращает:
- paramsdict
Имена параметров, сопоставленные с их значениями.
- predict(X, **predict_params)[источник]#
Предсказание с использованием базового регрессора, применяя обратное преобразование.
Регрессор используется для предсказания и
inverse_funcилиinverse_transformприменяется перед возвратом предсказания.- Параметры:
- X{array-like, sparse matrix} формы (n_samples, n_features)
Образцы.
- **predict_paramsdict of str -> object
Если
enable_metadata_routing=False(по умолчанию): Параметры, напрямую передаваемые вpredictметод базового регрессора.Если
enable_metadata_routing=True: Параметры, безопасно перенаправляемые вpredictметод базового регрессора.
Изменено в версии 1.6: См. Руководство по маршрутизации метаданных для получения дополнительной информации.
- Возвращает:
- y_hatndarray формы (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 формы (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\) of
self.predict(X)относительноy.
Примечания
The \(R^2\) оценка, используемая при вызове
scoreна регрессоре используетmultioutput='uniform_average'с версии 0.23 для сохранения согласованности со значением по умолчаниюr2_score. Это влияет наscoreметод всех многомерных регрессоров (кромеMultiOutputRegressor).
- set_params(**params)[источник]#
Установить параметры этого оценщика.
Метод работает как на простых оценщиках, так и на вложенных объектах (таких как
Pipeline). Последние имеют параметры видачтобы можно было обновить каждый компонент вложенного объекта.__ - Параметры:
- **paramsdict
Параметры оценщика.
- Возвращает:
- selfэкземпляр estimator
Экземпляр оценщика.
- set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') #27137[источник]#
Настроить, следует ли запрашивать передачу метаданных в
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 или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED
Маршрутизация метаданных для
sample_weightпараметр вscore.
- Возвращает:
- selfobject
Обновленный объект.
Примеры галереи#
Эффект преобразования целей в регрессионной модели
Распространённые ошибки в интерпретации коэффициентов линейных моделей