TweedieRegressor#
- класс sklearn.linear_model.TweedieRegressor(*, степень=0.0, alpha=1.0, fit_intercept=True, ссылка='auto', solver='lbfgs', max_iter=100, tol=0.0001, warm_start=False, verbose=0)[источник]#
Обобщенная линейная модель с распределением Твиди.
Этот оценщик может использоваться для моделирования различных GLM в зависимости от
powerпараметр, который определяет базовое распределение.Подробнее в Руководство пользователя.
Добавлено в версии 0.23.
- Параметры:
- степеньfloat, по умолчанию=0
Степень определяет базовое распределение целевой переменной согласно следующей таблице:
Power
Распределение
0
Нормальный
1
Пуассон
(1,2)
Compound Poisson Gamma
2
Gamma
3
Обратное гауссовское распределение
Для
0 < power < 1, распределение не существует.- alphafloat, по умолчанию=1
Константа, умножающая член штрафа L2 и определяющая силу регуляризации.
alpha = 0эквивалентен нештрафованным GLM. В этом случае матрица планаXдолжен иметь полный ранг столбцов (без коллинеарностей). Значенияalphaдолжен быть в диапазоне[0.0, inf).- fit_interceptbool, по умолчанию=True
Указывает, должна ли константа (также известная как смещение или перехват) быть добавлена к линейному предиктору (
X @ coef + intercept).- ссылка{'auto', 'identity', 'log'}, по умолчанию='auto'
Связующая функция GLM, т.е. отображение линейного предиктора
X @ coeff + interceptдля прогнозированияy_predОпция 'auto' устанавливает связь в зависимости от выбранногоpowerпараметр следующим образом:'identity' для
power <= 0, например, для нормального распределения‘log’ для
power > 0, например, для распределений Пуассона, Гамма и обратного Гаусса
- solver{‘lbfgs’, ‘newton-cholesky’}, по умолчанию=’lbfgs’
Алгоритм для использования в задаче оптимизации:
- 'lbfgs'
Вызывает оптимизатор L-BFGS-B из scipy.
- Как было сказано ранее, "положительная метка" не определена как значение "1", и вызов некоторых метрик с этим нестандартным значением вызывает ошибку. Нам нужно указать "положительную метку" для метрик.
Использует шаги Ньютона-Рафсона (в арифметике произвольной точности, эквивалентные итеративному взвешенному методу наименьших квадратов) с внутренним решателем на основе Холецкого. Этот решатель является хорошим выбором для
n_samples>>n_features, особенно с категориальными признаками, закодированными методом one-hot, с редкими категориями. Учтите, что использование памяти этим решателем имеет квадратичную зависимость отn_featuresпоскольку он явно вычисляет матрицу Гессе.Добавлено в версии 1.2.
- max_iterint, по умолчанию=100
Максимальное количество итераций для решателя. Значения должны быть в диапазоне
[1, inf).- tolfloat, по умолчанию=1e-4
Критерий остановки. Для решателя lbfgs итерация остановится, когда
max{|g_j|, j = 1, ..., d} <= tolгдеg_jявляется j-й компонентой градиента (производной) целевой функции. Значения должны быть в диапазоне(0.0, inf).- warm_startbool, по умолчанию=False
Если установлено в
True, повторно использовать решение предыдущего вызоваfitв качестве инициализации дляcoef_иintercept_.- verboseint, по умолчанию=0
Для решателя lbfgs установите verbose в любое положительное число для вывода подробной информации. Значения должны быть в диапазоне
[0, inf).
- Атрибуты:
- coef_массив формы (n_features,)
Расчетные коэффициенты для линейного предиктора (
X @ coef_ + intercept_) в GLM.- intercept_float
Свободный член (также известный как смещение), добавленный к линейному предиктору.
- n_iter_int
Фактическое количество итераций, использованных в решателе.
- n_features_in_int
Количество признаков, замеченных во время fit.
Добавлено в версии 0.24.
- feature_names_in_ndarray формы (
n_features_in_,) Имена признаков, наблюдаемых во время fit. Определено только когда
Xимеет имена признаков, которые все являются строками.Добавлено в версии 1.0.
Смотрите также
PoissonRegressorОбобщённая линейная модель с распределением Пуассона.
GammaRegressorОбобщённая линейная модель с гамма-распределением.
Примеры
>>> from sklearn import linear_model >>> clf = linear_model.TweedieRegressor() >>> X = [[1, 2], [2, 3], [3, 4], [4, 3]] >>> y = [2, 3.5, 5, 5.5] >>> clf.fit(X, y) TweedieRegressor() >>> clf.score(X, y) np.float64(0.839) >>> clf.coef_ array([0.599, 0.299]) >>> clf.intercept_ np.float64(1.600) >>> clf.predict([[1, 1], [3, 4]]) array([2.500, 4.599])
- fit(X, y, sample_weight=None)[источник]#
Подогнать обобщенную линейную модель.
- Параметры:
- X{array-like, sparse matrix} формы (n_samples, n_features)
Обучающие данные.
- yarray-like формы (n_samples,)
Целевые значения.
- sample_weightarray-like формы (n_samples,), по умолчанию=None
Веса выборок.
- Возвращает:
- selfobject
Обученная модель.
- 6332()[источник]#
Получить маршрутизацию метаданных этого объекта.
Пожалуйста, проверьте Руководство пользователя о том, как работает механизм маршрутизации.
- Возвращает:
- маршрутизацияMetadataRequest
A
MetadataRequestИнкапсуляция информации о маршрутизации.
- get_params(глубокий=True)[источник]#
Получить параметры для этого оценщика.
- Параметры:
- глубокийbool, по умолчанию=True
Если True, вернет параметры для этого оценщика и вложенных подобъектов, которые являются оценщиками.
- Возвращает:
- paramsdict
Имена параметров, сопоставленные с их значениями.
- predict(X)[источник]#
Прогнозирование с использованием GLM с матрицей признаков X.
- Параметры:
- X{array-like, sparse matrix} формы (n_samples, n_features)
Образцы.
- Возвращает:
- y_predмассив формы (n_samples,)
Возвращает предсказанные значения.
- score(X, y, sample_weight=None)[источник]#
Вычислите D^2, процент объяснённого отклонения.
D^2 является обобщением коэффициента детерминации R^2. R^2 использует квадратичную ошибку, а D^2 использует девианс этого GLM, см. Руководство пользователя.
D^2 определяется как \(D^2 = 1-\frac{D(y_{true},y_{pred})}{D_{null}}\), \(D_{null}\) является нулевым отклонением, т.е. отклонением модели только с перехватом, что соответствует \(y_{pred} = \bar{y}\). Среднее \(\bar{y}\) усредняется по sample_weight. Наилучший возможный результат - 1.0, и он может быть отрицательным (потому что модель может быть сколь угодно хуже).
- Параметры:
- X{array-like, sparse matrix} формы (n_samples, n_features)
Тестовые выборки.
- yarray-like формы (n_samples,)
Истинные значения цели.
- sample_weightarray-like формы (n_samples,), по умолчанию=None
Веса выборок.
- Возвращает:
- scorefloat
D^2 от self.predict(X) относительно y.
- set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') TweedieRegressor[источник]#
Настроить, следует ли запрашивать передачу метаданных в
fitметод.Обратите внимание, что этот метод актуален только тогда, когда этот оценщик используется как под-оценщик внутри мета-оценщик и маршрутизация метаданных включена с помощью
enable_metadata_routing=True(см.sklearn.set_config). Пожалуйста, проверьте Руководство пользователя о том, как работает механизм маршрутизации.Варианты для каждого параметра:
True: запрашиваются метаданные и передаютсяfitесли предоставлено. Запрос игнорируется, если метаданные не предоставлены.False: метаданные не запрашиваются, и мета-оценщик не передаст их вfit.None: метаданные не запрашиваются, и мета-оценщик выдаст ошибку, если пользователь предоставит их.str: метаданные должны передаваться мета-оценщику с этим заданным псевдонимом вместо исходного имени.
По умолчанию (
sklearn.utils.metadata_routing.UNCHANGED) сохраняет существующий запрос. Это позволяет изменять запрос для некоторых параметров, но не для других.Добавлено в версии 1.3.
- Параметры:
- sample_weightstr, True, False или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED
Маршрутизация метаданных для
sample_weightпараметр вfit.
- Возвращает:
- selfobject
Обновленный объект.
- set_params(**params)[источник]#
Установить параметры этого оценщика.
Метод работает как на простых оценщиках, так и на вложенных объектах (таких как
Pipeline). Последние имеют параметры видачтобы можно было обновить каждый компонент вложенного объекта.__ - Параметры:
- **paramsdict
Параметры оценщика.
- Возвращает:
- selfэкземпляр estimator
Экземпляр оценщика.
- set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') TweedieRegressor[источник]#
Настроить, следует ли запрашивать передачу метаданных в
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
Обновленный объект.