Spec-Zone.ru › scikit-learn

TheilSenRegressor

classsklearn.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, по умолчанию=None

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

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

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

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

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

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

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

n_jobsint, по умолчанию=None

Число процессоров, используемых при перекрёстной проверке. None означает 1, если только не используется контекст joblib.parallel_backend. -1 означает использование всех процессоров. Дополнительные сведения см. в глоссарии.

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

Подробный режим при обучении модели.

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

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

intercept_float

Оценённый свободный член регрессионной модели.

breakdown_float

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

n_iter_int

Число итераций, необходимых для вычисления пространственной медианы.

n_subpopulation_int

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

n_features_in_int

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

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

feature_names_in_ndarray формы (n_features_in_,)

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

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

См. также

HuberRegressor

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

RANSACRegressor

Алгоритм RANSAC (метод случайной выборки консенсуса).

SGDRegressor

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

Литература

  • Оцениватели Тейла—Сена в модели множественной линейной регрессии, 2009, Xin Dang, Hanxiang Peng, Xueqin Wang и Heping Zhang 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.

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

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

Информацию о работе механизма маршрутизации см. в Руководстве пользователя.

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

Объект MetadataRequest, содержащий информацию о маршрутизации.

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

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

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

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

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

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

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

Выполнить прогноз с помощью линейной модели.

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

Выборки.

Возвращает:
Cndarray формы (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.

Параметры:
Xмассивоподобный объект формы (n_samples, n_features)

Тестовые выборки. Для некоторых оценивателей вместо этого может использоваться предварительно вычисленная матрица ядра или список произвольных объектов формы (n_samples, n_samples_fitted), где n_samples_fitted — число выборок, использованных при обучении оценивателя.

yмассивоподобный объект формы (n_samples,) или (n_samples, n_outputs)

Истинные значения для X.

sample_weightмассивоподобный объект формы (n_samples,), по умолчанию=None

Веса выборок.

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

Значение \(R^2\) для self.predict(X) относительно y.

Примечания

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

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

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

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

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

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

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

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

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

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

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

Устойчивое оценивание линейной модели

Регрессия Тейла—Сена

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

Spec-Zone.ru

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