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)[исходный код]
-
Алгоритм RANSAC (RANdom SAmple Consensus — консенсус на случайной выборке).
RANSAC — это итеративный алгоритм для робастной оценки параметров по подмножеству выбросоустойчивых наблюдений из полного набора данных.
Подробнее см. в руководстве пользователя.
- Параметры:
-
- estimatorobject, по умолчанию=None
-
Объект базового оценивателя, реализующий следующие методы:
-
fit(X, y): Обучает модель на заданных обучающих данных и целевых значениях. -
score(X, y): Возвращает среднюю точность на заданных тестовых данных; это значение используется для критерия остановки, определяемогоstop_score. Кроме того, оценка используется для выбора лучшего из двух консенсусных наборов одинакового размера. -
predict(X): Возвращает предсказанные значения линейной модели, которые используются для вычисления остаточной ошибки с помощью функции потерь.
Если
estimatorравен None, для целевых значений типа float используетсяLinearRegression.Обратите внимание, что текущая реализация поддерживает только оцениватели регрессии.
-
- min_samplesint (>= 1) или float ([0, 1]), по умолчанию=None
-
Минимальное число наблюдений, случайно выбираемых из исходных данных. Для
min_samples >= 1рассматривается как абсолютное число наблюдений, дляmin_samples < 1— как относительное числоceil(min_samples * X.shape[0]). Обычно это минимальное число наблюдений, необходимое для оценки заданногоestimator. По умолчанию предполагается оценивательLinearRegression, аmin_samplesвыбирается равнымX.shape[1] + 1. Значение этого параметра сильно зависит от модели, поэтому при использованииestimator, отличного отLinearRegression, пользователь должен указать значение. - residual_thresholdfloat, по умолчанию=None
-
Максимальное значение остатка, при котором наблюдение классифицируется как выбросоустойчивое. По умолчанию порог выбирается как MAD (медианное абсолютное отклонение) целевых значений
y. Точки, остатки которых строго равны пороговому значению, считаются выбросоустойчивыми. - is_data_validcallable, по умолчанию=None
-
Эта функция вызывается для случайно выбранных данных до обучения модели:
is_data_valid(X, y). Если она возвращает False, текущая случайно выбранная подвыборка пропускается. - is_model_validcallable, по умолчанию=None
-
Эта функция вызывается для оцененной модели и случайно выбранных данных:
is_model_valid(model, X, y). Если она возвращает False, текущая случайно выбранная подвыборка пропускается. Отклонение выборок с помощью этой функции требует больше вычислительных ресурсов, чем с помощьюis_data_valid. Поэтомуis_model_validследует использовать только в том случае, если оцененная модель необходима для принятия решения об отклонении. - max_trialsint, по умолчанию=100
-
Максимальное число итераций случайного выбора выборки.
- max_skipsint, по умолчанию=np.inf
-
Максимальное число итераций, которые можно пропустить из-за отсутствия выбросоустойчивых наблюдений, недопустимых данных, определяемых
is_data_valid, или недопустимых моделей, определяемыхis_model_valid.Добавлено в версии 0.19.
- stop_n_inliersint, по умолчанию=np.inf
-
Остановить итерации, если найдено не менее указанного числа выбросоустойчивых наблюдений.
- stop_scorefloat, по умолчанию=np.inf
-
Остановить итерации, если оценка не меньше этого порогового значения.
- stop_probabilityfloat в диапазоне [0, 1], по умолчанию=0.99
-
Итерации RANSAC останавливаются, если в ходе работы алгоритма в выборку попал хотя бы один набор обучающих данных без выбросов. Для этого необходимо сгенерировать не менее N выборок (итераций):
N >= log(1 - probability) / log(1 - e**m)
где вероятность (доверительный уровень) обычно устанавливается на высокое значение, например 0.99 (по умолчанию), а e — текущая доля выбросоустойчивых наблюдений относительно общего числа наблюдений.
- lossstr, callable, по умолчанию=’absolute_error’
-
Поддерживаются строковые значения ‘absolute_error’ и ‘squared_error’, которые вычисляют соответственно абсолютную и квадратичную ошибку для каждого наблюдения.
Если
lossявляется вызываемым объектом, это должна быть функция, принимающая на вход два массива — истинные и предсказанные значения — и возвращающая одномерный массив, i-е значение которого соответствует потере дляX[i].Если потеря для наблюдения больше
residual_threshold, это наблюдение классифицируется как выброс.Добавлено в версии 0.18.
- random_stateint, экземпляр RandomState, по умолчанию=None
-
Генератор, используемый для инициализации центров. Передайте целое число, чтобы получать воспроизводимые результаты при нескольких вызовах функции. См. глоссарий.
- Атрибуты:
-
- estimator_object
-
Итоговая модель, обученная на выбросоустойчивых наблюдениях, предсказанных «лучшей» моделью, найденной в ходе выборки RANSAC (копия объекта
estimator). - n_trials_int
-
Число испытаний со случайным выбором до выполнения одного из критериев остановки. Всегда
<= max_trials. - inlier_mask_bool-массив формы [n_samples]
-
Булева маска наблюдений, классифицированных как
True. - n_skips_no_inliers_int
-
Число пропущенных итераций из-за отсутствия выбросоустойчивых наблюдений.
Добавлено в версии 0.19.
- n_skips_invalid_data_int
-
Число пропущенных итераций из-за недопустимых данных, определяемых
is_data_valid.Добавлено в версии 0.19.
- n_skips_invalid_model_int
-
Число пропущенных итераций из-за недопустимой модели, определяемой
is_model_valid.Добавлено в версии 0.19.
- n_features_in_int
-
Число признаков, обнаруженных при вызове fit.
Добавлено в версии 0.24.
-
feature_names_in_ndarray формы (
n_features_in_,) -
Названия признаков, обнаруженных при вызове fit. Определяется только в том случае, если
Xимеет названия признаков, представленные строками.Добавлено в версии 1.0.
См. также
HuberRegressor-
Модель линейной регрессии, устойчивая к выбросам.
TheilSenRegressor-
Оцениватель Theil-Sen — робастная модель многомерной регрессии.
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)[исходный код]
-
Обучение оценивателя с помощью алгоритма RANSAC.
- Параметры:
-
- X{array-like, sparse matrix} формы (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). Подробнее см. в руководстве пользователя по маршрутизации метаданных.
- Возвращает:
-
- selfobject
-
Обученный оцениватель
RANSACRegressor.
- Вызывает исключение:
-
- ValueError
-
Если не удалось найти допустимый консенсусный набор. Это происходит, если
is_data_validиis_model_validвозвращают False для всехmax_trialsслучайно выбранных подвыборок.
- get_metadata_routing()[исходный код]
-
Получение информации о маршрутизации метаданных этого объекта.
О принципах работы механизма маршрутизации см. в руководстве пользователя.
Добавлено в версии 1.5.
- Возвращает:
-
- routingMetadataRouter
-
Объект
MetadataRouter, содержащий информацию о маршрутизации.
- get_params(deep=True)[исходный код]
-
Получение параметров этого оценивателя.
- Параметры:
-
- deepbool, по умолчанию=True
-
Если True, возвращает параметры этого оценивателя и содержащихся в нем объектов, которые являются оценивателями.
- Возвращает:
-
- paramsdict
-
Имена параметров, сопоставленные с их значениями.
- predict(X, **params)[исходный код]
-
Предсказание с помощью оцененной модели.
Это обертка для
estimator_.predict(X).- Параметры:
-
- X{array-like или sparse matrix} формы (n_samples, n_features)
-
Входные данные.
- **paramsdict
-
Параметры, передаваемые методу
predictподоценивателя через API маршрутизации метаданных.Добавлено в версии 1.5: Доступно только при установленном
sklearn.set_config(enable_metadata_routing=True). Подробнее см. в руководстве пользователя по маршрутизации метаданных.
- Возвращает:
-
- yarray, форма = [n_samples] или [n_samples, n_targets]
-
Возвращает предсказанные значения.
- score(X, y, **params)[исходный код]
-
Возвращает оценку предсказания.
Это обертка для
estimator_.score(X, y).- Параметры:
-
- X(array-like или sparse matrix} формы (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[исходный код]
-
Настройка запроса на передачу метаданных методу
fit.Обратите внимание, что этот метод актуален только тогда, когда данный оцениватель используется как подоцениватель в составе метаоценивателя и включена маршрутизация метаданных с помощью
enable_metadata_routing=True(см.sklearn.set_config). О принципах работы механизма маршрутизации см. в руководстве пользователя.Для каждого параметра доступны следующие варианты:
-
True: метаданные запрашиваются и передаются вfit, если они предоставлены. Если метаданные не предоставлены, запрос игнорируется. -
False: метаданные не запрашиваются, и метаоцениватель не передает их вfit. -
None: метаданные не запрашиваются, и метаоцениватель вызовет ошибку, если пользователь их предоставит. -
str: метаданные следует передавать метаоценивателю под указанным псевдонимом вместо исходного имени.
Значение по умолчанию (
sklearn.utils.metadata_routing.UNCHANGED) сохраняет текущий запрос. Это позволяет изменить запрос для одних параметров, оставив его без изменений для других.Добавлено в версии 1.3.
- Параметры:
-
- sample_weightstr, True, False или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED
-
Маршрутизация метаданных для параметра
sample_weightвfit.
- Возвращает:
-
- selfobject
-
Обновленный объект.
-
- set_params(**params)[исходный код]
-
Задает параметры этого оценивателя.
Метод работает как с простыми оценивателями, так и со вложенными объектами (например,
Pipeline). Параметры последних имеют вид<component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.- Параметры:
-
- **paramsdict
-
Параметры оценивателя.
- Возвращает:
-
- selfэкземпляр оценивателя
-
Экземпляр оценивателя.
Примеры из галереи
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.linear_model.RANSACRegressor.html