Регрессор Theil-Sen
- классsklearn.linear_model.TheilSenRegressor(*, fit_intercept=True, copy_X='deprecated', max_subpopulation=10000.0, n_subsamples=None, max_iter=300, tol=0.001, random_state=None, n_jobs=None, verbose=False)[source]
-
Оценщик Тейла-Сена: устойчивая многомерная регрессионная модель.
Алгоритм вычисляет решения метода наименьших квадратов на подмножествах с размером n_subsamples выборок в X. Любое значение n_subsamples между числом признаков и числом выборок приводит к оценщику, представляющему собой компромисс между устойчивостью и эффективностью. Поскольку количество решений метода наименьших квадратов равно «n_samples choose n_subsamples», оно может быть чрезвычайно большим и поэтому может быть ограничено с помощью max_subpopulation. Если этот предел достигнут, подмножества выбираются случайным образом. На заключительном шаге вычисляется пространственная медиана (или L1-медиана) всех решений метода наименьших квадратов.
Подробнее см. в Руководстве пользователя.
- Параметры:
-
- fit_interceptbool, по умолчанию=True
-
Вычислять ли свободный член для этой модели. Если установлено в false, свободный член не будет использоваться в расчётах.
- copy_Xbool, по умолчанию=True
-
Если True, X будет скопирован; иначе он может быть перезаписан.
Устарело начиная с версии 1.6:
copy_Xбыло устарело в версии 1.6 и будет удалено в 1.8. Оно не оказывает никакого эффекта, так как копия всегда создаётся. - max_subpopulationint, по умолчанию=1e4
-
Вместо вычисления с набором мощности «n выбрать k», где n — количество выборок, а k — количество подвыборок (по крайней мере, количество признаков), рассмотреть только стохастическое подмножество заданного максимального размера, если «n выбрать k» больше, чем max_subpopulation. Для размеров задач, отличных от малых, этот параметр будет определять использование памяти и время выполнения, если n_subsamples не изменено. Обратите внимание, что тип данных должен быть int, но также могут приниматься и float, такие как 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
-
Экземпляр генератора псевдослучайных чисел для определения состояния генератора случайных перестановок. Передайте целое число для воспроизводимых результатов при многократном вызове функций. См. Словарь.
- 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 выбрать 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.
Ссылки
- Theil-Sen Estimators in a Multiple Linear Regression Model, 2009 Xin Dang, Hanxiang Peng, Xueqin Wang and 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)[source]
-
Подгонка линейной модели.
- Параметры:
-
- Xмассив ndarray формы (n_samples, n_features)
-
Данные обучения.
- yмассив ndarray формы (n_samples,)
-
Целевые значения.
- Возвращает:
-
- selfвозвращает экземпляр self.
-
Полученная
TheilSenRegressorмодель.
- get_metadata_routing()[source]
-
Получение маршрутизации метаданных этого объекта.
Пожалуйста, обратитесь к Руководству пользователя для получения информации о том, как работает механизм маршрутизации.
- Возвращает:
-
- routingMetadataRequest
-
MetadataRequestописывающая информацию о маршрутизации.
- get_params(deep=True)[source]
-
Получить параметры для этого оценщика.
- Параметры:
-
- deepbool, по умолчанию=True
-
Если True, вернёт параметры для этого оценщика и содержащихся в нём подобъектов, являющихся оценщиками.
- Возвращает:
-
- paramsdict
-
Имена параметров, сопоставленные со своими значениями.
- predict(X)[source]
-
Предсказание с использованием линейной модели.
- Параметры:
-
- Xмассив или разреженная матрица, форма (n_samples, n_features)
-
Образцы.
- Возвращает:
-
- Cмассив, форма (n_samples,)
-
Возвращает предсказанные значения.
- score(X, y, sample_weight=None)[source]
-
Возвращает коэффициент детерминации предсказания.
Коэффициент детерминации \(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
-
Веса образцов.
- Возвращает:
-
- scoreчисло с плавающей точкой
-
\(R^2\)
self.predict(X)по отношению кy.
Примечания
Значение \(R^2\), используемое при вызове
scoreв регрессоре, используетmultioutput='uniform_average'с версии 0.23 для согласованности с параметром по умолчаниюr2_score. Это влияет на методscoreвсех регрессоров с несколькими выходами (кромеMultiOutputRegressor).
- set_params(**params)[source]
-
Устанавливает параметры этого оценщика.
Метод работает как с простыми оценщиками, так и со вложенными объектами (такими как
Pipeline). Последние имеют параметры вида<component>__<parameter>для возможности обновления каждого компонента вложенного объекта.- Параметры:
-
- **paramsсловарь
-
Параметры оценщика.
- Возвращает:
-
- selfэкземпляр оценщика
-
Экземпляр оценщика.
- set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') TheilSenRegressor[source]
-
Запрос метаданных, передаваемых в метод
score.Обратите внимание, что этот метод актуален только если
enable_metadata_routing=True(см.sklearn.set_config). См. Руководство пользователя о том, как работает механизм маршрутизации.Варианты для каждого параметра:
-
True: метаданные запрашиваются и передаются вscoreесли предоставлены. Запрос игнорируется, если метаданные не предоставлены. -
False: метаданные не запрашиваются, и метаоценщик не передаст их вscore. -
None: метаданные не запрашиваются, и метаоценщик выдаст ошибку, если пользователь их предоставит. -
str: метаданные должны передаваться метаоценщику с этим псевдонимом вместо оригинального имени.
По умолчанию (
sklearn.utils.metadata_routing.UNCHANGED) сохраняется существующий запрос. Это позволяет изменить запрос для некоторых параметров и не для других.Добавлен в версии 1.3.
Примечание
Этот метод актуален только в том случае, если этот оценщик используется в качестве под-оценщика мета-оценщика, например, внутри
Pipeline. В противном случае он не имеет эффекта.- Параметры:
-
- sample_weightстрока, True, False или None, по умолчанию sklearn.utils.metadata_routing.UNCHANGED
-
Маршрутизация метаданных для параметра
sample_weightвscore.
- Возвращает:
-
- selfобъект
-
Обновленный объект.
-
Примеры галереи
© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.linear_model.TheilSenRegressor.html