TheilSenRegressor#

класс sklearn.linear_model.TheilSenRegressor(*, fit_intercept=True, max_subpopulation=10000.0, n_subsamples=None, max_iter=300, tol=0.001, random_state=None, n_jobs=None, verbose=False)[источник]#

Оценщик Тейла-Сена: устойчивая многомерная модель регрессии.

Алгоритм вычисляет решения методом наименьших квадратов для подмножеств размером n_subsamples из образцов в X. Любое значение n_subsamples между количеством признаков и образцов приводит к оценщику с компромиссом между робастностью и эффективностью. Поскольку количество решений методом наименьших квадратов равно "n_samples choose n_subsamples", оно может быть чрезвычайно большим и поэтому может быть ограничено с помощью max_subpopulation. Если этот предел достигнут, подмножества выбираются случайным образом. На последнем шаге вычисляется пространственная медиана (или L1-медиана) всех решений методом наименьших квадратов.

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

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

Следует ли вычислять свободный член для этой модели. Если установлено в false, свободный член не будет использоваться в вычислениях.

max_subpopulationint, по умолчанию=1e4

Вместо вычислений с множеством мощности 'n choose k', где n — количество образцов, а k — количество подвыборок (по крайней мере количество признаков), рассматривайте только стохастическую субпопуляцию заданного максимального размера, если 'n choose k' больше max_subpopulation. Для размеров задач, кроме малых, этот параметр будет определять использование памяти и время выполнения, если n_subsamples не изменяется. Обратите внимание, что тип данных должен быть int, но числа с плавающей точкой, такие как 1e4, тоже могут быть приняты.

n_subsamplesint, default=None

Количество образцов для расчета параметров. Это как минимум количество признаков (плюс 1, если fit_intercept=True) и максимально количество образцов. Меньшее число приводит к более высокой точке разрушения и низкой эффективности, а большее число приводит к низкой точке разрушения и высокой эффективности. Если None, берется минимальное количество подвыборок, приводящее к максимальной устойчивости. Если n_subsamples установлено в n_samples, Theil-Sen идентичен методу наименьших квадратов.

max_iterint, по умолчанию=300

Максимальное количество итераций для вычисления пространственной медианы.

tolfloat, по умолчанию=1e-3

Допуск при вычислении пространственной медианы.

random_stateint, экземпляр RandomState или None, по умолчанию=None

Экземпляр генератора случайных чисел для определения состояния генератора случайных перестановок. Передайте целое число для воспроизводимого результата при множественных вызовах функции. См. Глоссарий.

n_jobsint, default=None

Количество процессоров для использования во время перекрестной проверки. None означает 1, если только не в joblib.parallel_backend контекст. -1 означает использование всех процессоров. См. Глоссарий для получения дополнительной информации.

verbosebool, по умолчанию=False

Режим подробного вывода при обучении модели.

Атрибуты:
coef_ndarray формы (n_features,)

Коэффициенты регрессионной модели (медиана распределения).

intercept_float

Оцененное смещение модели регрессии.

breakdown_float

Приближённая точка разрушения.

n_iter_int

Значение по умолчанию для `max_features` изменилось с `"auto"` на `"sqrt"`.

n_subpopulation_int

Количество комбинаций, учитываемых из 'n choose k', где n - количество образцов, а k - количество подвыборок.

n_features_in_int

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

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

feature_names_in_ndarray формы (n_features_in_,)

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

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

Смотрите также

HuberRegressor

Линейная регрессионная модель, устойчивая к выбросам.

RANSACRegressor

Алгоритм RANSAC (RANdom SAmple Consensus).

SGDRegressor

Подгоняется путем минимизации регуляризованной эмпирической потери с помощью SGD.

Ссылки

  • Оценки Тейла-Сена в модели множественной линейной регрессии, 2009 Синь Данг, Ханьсян Пэн, Сюэцинь Ван и Хэпин Чжан http://home.olemiss.edu/~xdang/papers/MTSE.pdf

Примеры

>>> from sklearn.linear_model import TheilSenRegressor
>>> from sklearn.datasets import make_regression
>>> X, y = make_regression(
...     n_samples=200, n_features=2, noise=4.0, random_state=0)
>>> reg = TheilSenRegressor(random_state=0).fit(X, y)
>>> reg.score(X, y)
0.9884
>>> reg.predict(X[:1,])
array([-31.5871])
fit(X, y)[источник]#

Обучить линейную модель.

Параметры:
Xndarray формы (n_samples, n_features)

Обучающие данные.

yndarray формы (n_samples,)

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

Возвращает:
selfвозвращает экземпляр self.

Обученная TheilSenRegressor оценщик.

6332()[источник]#

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

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

Возвращает:
маршрутизацияMetadataRequest

A MetadataRequest Инкапсуляция информации о маршрутизации.

get_params(глубокий=True)[источник]#

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

Параметры:
глубокийbool, по умолчанию=True

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

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

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

predict(X)[источник]#

Прогнозирование с использованием линейной модели.

Параметры:
Xмассивоподобный или разреженная матрица, форма (n_samples, n_features)

Образцы.

Возвращает:
Cмассив, формы (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$') TheilSenRegressor[источник]#

Настроить, следует ли запрашивать передачу метаданных в 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

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