RANSACRegressor
- classsklearn.linear_model.RANSACRegressor(estimator=None, *, min_samples=None, residual_threshold=None, is_data_valid=None, is_model_valid=None, max_trials=100, max_skips=inf, stop_n_inliers=inf, stop_score=inf, stop_probability=0.99, loss='absolute_error', random_state=None)[source]
-
Алгоритм RANSAC (RANdom SAmple Consensus).
RANSAC — это итеративный алгоритм для надежной оценки параметров из подмножества инлайнеров из полного набора данных.
Подробнее читайте в Руководстве пользователя.
- Параметры:
-
- estimatorобъект, по умолчанию=None
-
Базовый объект оценщика, реализующий следующие методы:
-
fit(X, y): Построение модели на заданных обучающих данных и целевых значениях. -
score(X, y): Возвращает среднюю точность на заданных тестовых данных, которая используется для критерия остановки, определённого вstop_score. Кроме того, оценка используется для выбора лучшего из двух равнозначных наборов согласия. -
predict(X): Возвращает предсказанные значения с использованием линейной модели, которая используется для вычисления остаточной ошибки с использованием функции потерь.
Если
estimatorравно None, то используетсяLinearRegressionдля целевых значений типа float.Обратите внимание, что текущая реализация поддерживает только регрессионные оценщики.
-
- min_samplesцелое число (>= 1) или число с плавающей точкой ([0, 1]), по умолчанию=None
-
Минимальное количество выборок, случайным образом выбранных из исходных данных. Рассматривается как абсолютное число выборок для
min_samples >= 1, рассматривается как относительное числоceil(min_samples * X.shape[0])дляmin_samples < 1. Обычно выбирается как минимальное количество выборок, необходимое для оценки данногоestimator. По умолчанию предполагается оценщикLinearRegression, иmin_samplesвыбирается какX.shape[1] + 1. Этот параметр сильно зависит от модели, поэтому, если используется оценщикestimatorдругой, чемLinearRegression, пользователь должен указать значение. - residual_thresholdчисло с плавающей точкой, по умолчанию=None
-
Максимальное остаточное значение для образца данных, чтобы быть классифицированным как инлайнер. По умолчанию порог выбирается как MAD (медианное абсолютное отклонение) целевых значений
y. Точки, остаточная ошибка которых строго равна порогу, считаются инлайнерами. - is_data_validвызываемая функция, по умолчанию=None
-
Эта функция вызывается с случайным образом выбранными данными перед подгонкой модели к ним:
is_data_valid(X, y). Если возвращаемое значение равно False, текущая случайная подвыборка пропускается. - is_model_validвызываемая функция, по умолчанию=None
-
Эта функция вызывается с оцененной моделью и случайным образом выбранными данными:
is_model_valid(model, X, y). Если возвращаемое значение равно False, текущая случайная подвыборка пропускается. Отбрасывание выборок с помощью этой функции требует больше вычислительных ресурсов, чем с помощьюis_data_valid. Поэтомуis_model_validследует использовать только в том случае, если оцененная модель требуется для принятия решения об отбрасывании. - max_trialsцелое число, по умолчанию=100
-
Максимальное количество итераций для случайного выбора выборки.
- max_skipsцелое число, по умолчанию=np.inf
-
Максимальное количество итераций, которые могут быть пропущены из-за поиска нулевых инлайнеров или недопустимых данных, определённых
is_data_validили недопустимых моделей, определённыхis_model_valid.Добавлена в версии 0.19.
- stop_n_inliersцелое число, по умолчанию=np.inf
-
Остановка итерации, если найдено хотя бы такое количество инлайнеров.
- stop_scoreчисло с плавающей точкой, по умолчанию=np.inf
-
Остановка итерации, если оценка больше или равна этому порогу.
- stop_probabilityчисло с плавающей точкой в диапазоне [0, 1], по умолчанию=0.99
-
Итерация RANSAC останавливается, если по крайней мере один набор обучающих данных без выбросов выборок взят случайным образом в RANSAC. Для этого необходимо сгенерировать как минимум N выборок (итераций):
N >= log(1 - probability) / log(1 - e**m)
где вероятность (доверие) обычно устанавливается на высокое значение, такое как 0.99 (по умолчанию), а e — текущая доля инлайнеров по отношению к общему количеству выборок.
- lossстрока, вызываемая функция, по умолчанию=’absolute_error’
-
Поддерживаются строковые входные данные «absolute_error» и «squared_error», которые находят абсолютную ошибку и среднеквадратичную ошибку соответственно на образец.
Если
lossявляется вызываемой функцией, то она должна быть функцией, которая принимает два массива в качестве входных данных, истинное и предсказанное значение, и возвращает одномерный массив, где i-е значение массива соответствует потере наX[i].Если потеря на образце больше, чем
residual_threshold, то этот образец классифицируется как выброс.Добавлена в версии 0.18.
- random_stateцелое число, экземпляр RandomState, по умолчанию=None
-
Генератор, используемый для инициализации центров. Передайте целое число для воспроизводимого результата при многократных вызовах функций. См. Глоссарий.
- Атрибуты:
-
- estimator_объект
-
Окончательная модель, обученная на инлайнерах, предсказанных «лучшей» моделью, найденной во время выборки RANSAC (копия объекта
estimator). - n_trials_целое число
-
Количество итераций случайного выбора до достижения одного из критериев остановки. Оно всегда
<= max_trials. - inlier_mask_булевый массив формы [n_samples]
-
Булевый массив инлайнеров, классифицированных как
True. - n_skips_no_inliers_целое число
-
Количество итераций, пропущенных из-за поиска нулевых инлайнеров.
Добавлена в версии 0.19.
- n_skips_invalid_data_целое число
-
Количество итераций, пропущенных из-за недопустимых данных, определённых
is_data_valid.Добавлена в версии 0.19.
- n_skips_invalid_model_целое число
-
Количество итераций, пропущенных из-за недопустимой модели, определённой
is_model_valid.Добавлена в версии 0.19.
- n_features_in_целое число
-
Количество признаков, увиденных во время fit.
Добавлена в версии 0.24.
-
feature_names_in_массив numpy формы (
n_features_in_,) -
Названия признаков, увиденных во время fit. Определяются только тогда, когда
Xимеет имена признаков, которые все являются строками.Добавлена в версии 1.0.
См. также
HuberRegressor-
Линейная регрессионная модель, устойчивая к выбросам.
TheilSenRegressor-
Модель регрессии Тейль-Сена — робастная многомерная регрессионная модель.
SGDRegressor-
Оценивается путём минимизации эмпирической регуляризованной функции потерь с помощью SGD.
Ссылки
Примеры
>>> from sklearn.linear_model import RANSACRegressor >>> from sklearn.datasets import make_regression >>> X, y = make_regression( ... n_samples=200, n_features=2, noise=4.0, random_state=0) >>> reg = RANSACRegressor(random_state=0).fit(X, y) >>> reg.score(X, y) 0.9885... >>> reg.predict(X[:1,]) array([-31.9417...])
Для более подробного примера см. Оценка робастной линейной модели с помощью RANSAC
- fit(X, y, *, sample_weight=None, **fit_params)[source]
-
Обучение модели с использованием алгоритма RANSAC.
- Параметры:
-
- X{array-like, разреженная матрица} формы (n_samples, n_features)
-
Данные обучения.
- yarray-like формы (n_samples,) или (n_samples, n_targets)
-
Целевые значения.
- sample_weightarray-like формы (n_samples,), по умолчанию=None
-
Индивидуальные веса для каждого образца. Возникает ошибка, если sample_weight передан, а метод fit оценщика его не поддерживает.
Добавлен в версии 0.18.
- **fit_paramsdict
-
Параметры, передаваемые методу
fitпод-оценщика через API маршрутизации метаданных.Добавлен в версии 1.5: Доступен только если
sklearn.set_config(enable_metadata_routing=True)установлено. Подробнее см. Руководство по маршрутизации метаданных.
- Возвращаемое значение:
-
- selfобъект
-
Обученная модель
RANSACRegressor.
- Исключения:
-
- ValueError
-
Если не удалось найти корректный набор консенсуса. Это происходит, если
is_data_validиis_model_validвозвращают False для всехmax_trialsслучайно выбранных подвыборок.
- get_metadata_routing()[source]
-
Получение маршрутизации метаданных этого объекта.
Пожалуйста, ознакомьтесь с Руководством о том, как работает механизм маршрутизации.
Добавлен в версии 1.5.
- Возвращаемое значение:
-
- routingMetadataRouter
-
А
MetadataRouterencapsulating routing information.
- get_params(deep=True)[source]
-
Получение параметров этого оценщика.
- Параметры:
-
- deepbool, по умолчанию=True
-
Если True, вернёт параметры этого оценщика и вложенных под-объектов, являющихся оценщиками.
- Возвращаемое значение:
-
- paramsdict
-
Имена параметров, сопоставленные со значениями.
- predict(X, **params)[source]
-
Предсказание с использованием обученной модели.
Это обертка для
estimator_.predict(X).- Параметры:
-
- X{array-like или разреженная матрица} формы (n_samples, n_features)
-
Входные данные.
- **paramsdict
-
Параметры, передаваемые методу
predictпод-оценщика через API маршрутизации метаданных.Добавлен в версии 1.5: Доступен только если
sklearn.set_config(enable_metadata_routing=True)установлено. Подробнее см. Руководство по маршрутизации метаданных.
- Возвращаемое значение:
-
- yмассив, форма = [n_samples] или [n_samples, n_targets]
-
Возвращает предсказанные значения.
- score(X, y, **params)[source]
-
Возвращает оценку предсказания.
Это обертка для
estimator_.score(X, y).- Параметры:
-
- X(array-like или разреженная матрица} формы (n_samples, n_features)
-
Данные обучения.
- yarray-like формы (n_samples,) или (n_samples, n_targets)
-
Целевые значения.
- **paramsdict
-
Параметры, передаваемые методу
scoreпод-оценщика через API маршрутизации метаданных.Добавлен в версии 1.5: Доступен только если
sklearn.set_config(enable_metadata_routing=True)установлено. Подробнее см. Руководство по маршрутизации метаданных.
- Возвращаемое значение:
-
- zfloat
-
Оценка предсказания.
- set_fit_request(*, sample_weight:bool|None|str='$UNCHANGED$') RANSACRegressor[source]
-
Запрос метаданных, переданных методу
fit.Обратите внимание, что этот метод актуален только если
enable_metadata_routing=True(см.sklearn.set_config). Пожалуйста, обратитесь к Руководству пользователя за информацией о механизме маршрутизации.Доступные варианты для каждого параметра:
-
True: метаданные запрашиваются и передаются методуfit, если они предоставлены. Запрос игнорируется, если метаданные не предоставлены. -
False: метаданные не запрашиваются и мета-оценщик не передаст их методуfit. -
None: метаданные не запрашиваются, и мета-оценщик выдаст ошибку, если пользователь их предоставит. -
str: метаданные должны передаваться мета-оценщику с данным псевдонимом вместо оригинального имени.
По умолчанию (
sklearn.utils.metadata_routing.UNCHANGED) сохраняется существующий запрос. Это позволяет изменить запрос для некоторых параметров, а не для других.Добавлен в версии 1.3.
Примечание
Этот метод актуален только если данный оценщик используется в качестве под-оценщика мета-оценщика, например, внутри
Pipeline. В противном случае он не оказывает влияния.- Parameters:
-
- sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED
-
Маршрутизация метаданных для параметра
sample_weightвfit.
- Returns:
-
- selfobject
-
Обновленный объект.
-
- set_params(**params)[source]
-
Установка параметров этого оценщика.
Метод работает как с простыми оценщиками, так и с вложенными объектами (такими как
Pipeline). Последние имеют параметры вида<component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.- Parameters:
-
- **paramsdict
-
Параметры оценщика.
- Returns:
-
- 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.RANSACRegressor.html