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