Spec-Zone.ru › scikit-learn

ARDРегрессия

классsklearn.linear_model.ARDRegression(*, max_iter=300, tol=0.001, alpha_1=1e-06, alpha_2=1e-06, lambda_1=1e-06, lambda_2=1e-06, compute_score=False, threshold_lambda=10000.0, fit_intercept=True, copy_X=True, verbose=False)[source]

Регрессия с адаптивным распределением априорных знаний.

Настройка весов регрессионной модели с использованием априорного распределения ARD. Предполагается, что веса регрессионной модели распределены по гауссовым распределениям. Также оцениваются параметры lambda (точности распределений весов) и alpha (точность распределения шума). Оценка выполняется итерационными процедурами (Максимизация правдоподобия).

Дополнительную информацию можно найти в Руководстве пользователя.

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

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

Изменено в версии 1.3.

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

Остановка алгоритма, если w сходится.

alpha_1float, по умолчанию=1e-6

Гиперпараметр: параметр формы для гамма-распределения априори параметра alpha.

alpha_2float, по умолчанию=1e-6

Гиперпараметр: обратный параметр масштаба (параметр скорости) для гамма-распределения априори параметра alpha.

lambda_1float, по умолчанию=1e-6

Гиперпараметр: параметр формы для гамма-распределения априори параметра lambda.

lambda_2float, по умолчанию=1e-6

Гиперпараметр: обратный параметр масштаба (параметр скорости) для гамма-распределения априори параметра lambda.

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

Если True, вычислять целевую функцию на каждом шаге модели.

threshold_lambdafloat, по умолчанию=10 000

Порог для удаления (обрезки) весов с высокой точностью из вычислений.

fit_interceptbool, по умолчанию=True

Вычислять ли свободный член для этой модели. Если установлено в false, свободный член не будет использоваться в расчётах (т.е. предполагается, что данные центрированы).

copy_Xbool, по умолчанию=True

Если True, X будет скопирован; иначе, он может быть перезаписан.

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

Режим отображения подробностей при настройке модели.

Атрибуты:
coef_массив-подобный формы (n_features,)

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

alpha_float

оценённая точность шума.

lambda_массив-подобный формы (n_features,)

оценённые точности весов.

sigma_массив-подобный формы (n_features, n_features)

оценённая матрица ковариации весов

scores_float

если вычислено, значение целевой функции (для максимизации)

n_iter_int

Фактическое количество итераций для достижения критерия остановки.

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

intercept_float

Свободный член в функции принятия решения. Установлен в 0,0, если fit_intercept = False.

X_offset_float

Если fit_intercept=True, сдвиг, вычтенный для центрирования данных до нулевого среднего значения. Иначе установлен в np.zeros(n_features).

X_scale_float

Установлен в np.ones(n_features).

n_features_in_int

Количество признаков, увиденных во время fit.

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

feature_names_in_ndarray формы (n_features_in_,)

Имена признаков, увиденные во время fit. Определены только когда X имеют имена признаков, которые все строки.

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

См. также

BayesianRidge

Байесовская регрессия с максимальным правдоподобием.

Примечания

Для примера, см. примеры/linear_model/plot_ard.py.

Литература

D. J. C. MacKay, Байесовское нелинейное моделирование для соревнования по прогнозированию, ASHRAE Transactions, 1994.

R. Salakhutdinov, Лекционные заметки по статистическому машинному обучению, http://www.utstat.toronto.edu/~rsalakhu/sta4273/notes/Lecture2.pdf#page=15 Их beta — это наш self.alpha_ Их alpha — это наш self.lambda_ ARD немного отличается от слайда: только измерения/признаки, для которых self.lambda_ < self.threshold_lambda сохраняются, а остальные отбрасываются.

Примеры

>>> from sklearn import linear_model
>>> clf = linear_model.ARDRegression()
>>> clf.fit([[0,0], [1, 1], [2, 2]], [0, 1, 2])
ARDRegression()
>>> clf.predict([[1, 1]])
array([1.])
fit(X, y)[source]

Настроить модель по заданным обучающим данным и параметрам.

Итерационная процедура максимизации правдоподобия.

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

Вектор обучения, где n_samples — количество образцов, а n_features — количество признаков.

yмассив-подобный формы (n_samples,)

Значения целевых переменных (целые числа). Будут преобразованы к типу X, если необходимо.

Возвращает:
selfобъект

Настроенный оценщик.

get_metadata_routing()[source]

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

Пожалуйста, ознакомьтесь с Руководством пользователя о том, как работает механизм маршрутизации.

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

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

get_params(deep=True)[source]

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

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

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

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

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

predict(X, return_std=False)[source]

Предсказание с использованием линейной модели.

Помимо среднего значения предсказательного распределения, также можно вернуть его стандартное отклонение.

Параметры:
X{array-like, sparse matrix} of shape (n_samples, n_features)

Образцы.

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

Возвращать ли стандартное отклонение заднего предсказания.

Возвращает:
y_meanarray-like of shape (n_samples,)

Среднее значение предсказательного распределения точек запроса.

y_stdarray-like of shape (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.

Параметры:
Xarray-like of shape (n_samples, n_features)

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

yarray-like of shape (n_samples,) or (n_samples, n_outputs)

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

sample_weightarray-like of shape (n_samples,), default=None

Веса образцов.

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

\(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>, чтобы можно было обновить каждый компонент вложенного объекта.

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

Параметры оценщика.

Возвращает:
selfestimator instance

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

set_predict_request(*, return_std:bool|None|str='$UNCHANGED$') → ARDRegression[source]

Запрос метаданных, переданных в метод predict.

Обратите внимание, что этот метод актуален только если enable_metadata_routing=True (см. sklearn.set_config). Пожалуйста, см. Руководство пользователя о том, как работает механизм маршрутизации.

Варианты для каждого параметра:

  • True: метаданные запрашиваются и передаются в predict, если предоставлены. Запрос игнорируется, если метаданные не предоставлены.
  • False: метаданные не запрашиваются, и мета-оценщик не будет передавать их в predict.
  • None: метаданные не запрашиваются, и мета-оценщик выведет ошибку, если пользователь их предоставит.
  • str: метаданные должны быть переданы мета-оценщику с данным псевдонимом вместо исходного имени.

По умолчанию (sklearn.utils.metadata_routing.UNCHANGED) сохраняет существующий запрос. Это позволяет изменить запрос для некоторых параметров и не для других.

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

Примечание

Этот метод актуален только в том случае, если этот оценщик используется в качестве под-оценщика мета-оценщика, например, внутри Pipeline. В противном случае он не оказывает никакого влияния.

Параметры:
return_stdstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

Маршрутизация метаданных для параметра return_std в predict.

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

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

set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') → ARDRegression[source]

Запрос метаданных, передаваемых в метод score.

Обратите внимание, что этот метод актуален только, если enable_metadata_routing=True (см. sklearn.set_config). Пожалуйста, см. Руководство пользователя по тому, как работает механизм маршрутизации.

Доступные варианты для каждого параметра:

  • True: запрашиваются метаданные, и они передаются в score, если предоставлены. Запрос игнорируется, если метаданные не предоставлены.
  • False: метаданные не запрашиваются, и мета-эстиматор не передаст их в score.
  • 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 в score.

Returns:
selfobject

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

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

Сравнение линейных байесовских регрессоров

L1-базовые модели для разреженных сигналов

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

Spec-Zone.ru

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