Желаемое количество ненулевых элементов в решении. Игнорируется, если tol установлено. Когда None и tol также None, это значение устанавливается либо на 10% от n_features, либо на 1, что больше.
tolfloat, по умолчанию=None
Максимальная квадратичная норма остатка. Если не равно None, переопределяет n_nonzero_coefs.
fit_interceptbool, по умолчанию=True
Вычислять ли сдвиг для этой модели. Если установлено в false, сдвиг не будет использоваться в вычислениях (т.е. предполагается, что данные центрированы).
precompute‘auto’ или bool, по умолчанию=’auto’
Использовать ли предварительно вычисленные матрицы Грама и Xy для ускорения вычислений. Повышает производительность, когда n_targets или n_samples очень велики. Обратите внимание, что если у вас уже есть такие матрицы, вы можете передать их непосредственно в метод fit.
Атрибуты:
coef_массив формы (n_features,) или (n_targets, n_features)
Вектор параметров (w в формуле).
intercept_float или массив формы (n_targets,)
Свободный член в функции принятия решений.
n_iter_int или массив
Количество активных функций для каждой целевой переменной.
n_nonzero_coefs_int или None
Количество ненулевых коэффициентов в решении или None, когда tol установлено. Если n_nonzero_coefs равно None и tol равно None, это значение устанавливается либо на 10% от n_features, либо на 1, что больше.
Модель ортогонального преследования (OMP) с перекрестной проверкой.
Примечания
Ортогональное преследование было представлено в G. Mallat, Z. Zhang, Совпадения с временчастотными словарями, IEEE Transactions on Signal Processing, Vol. 41, No. 12. (Декабрь 1993 г.), стр. 3397-3415. (https://www.di.ens.fr/~mallat/papiers/MallatPursuit93.pdf)
Эта реализация основана на Рубинштейн, Р., Зибулевский, М. и Элад, М., Эффективная реализация алгоритма K-SVD с использованием пакетного ортогонального преследования Технический отчет - CS Technion, апрель 2008 г. https://www.cs.technion.ac.il/~ronrubin/Publications/KSVD-OMP-v2.pdf
Примеры
>>> from sklearn.linear_model import OrthogonalMatchingPursuit
>>> from sklearn.datasets import make_regression
>>> X, y = make_regression(noise=4, random_state=0)
>>> reg = OrthogonalMatchingPursuit().fit(X, y)
>>> reg.score(X, y)
0.9991...
>>> reg.predict(X[:1,])
array([-78.3854...])
Коэффициент детерминации \(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).
Метод работает как с простыми оценщиками, так и с вложенными объектами (такими как Pipeline). Последние имеют параметры вида <component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.
Обратите внимание, что этот метод актуален только если enable_metadata_routing=True (см. sklearn.set_config). См. Руководство пользователя о том, как работает механизм маршрутизации.
Доступные варианты для каждого параметра:
True: метаданные запрашиваются и передаются score при наличии. Запрос игнорируется, если метаданные не предоставлены.
False: метаданные не запрашиваются, и мета-оценщик не передаст их score.
None: метаданные не запрашиваются, и мета-оценщик выведет ошибку, если пользователь предоставит их.
str: метаданные должны быть переданы мета-оценщику с данным псевдонимом вместо оригинального имени.
Значение по умолчанию (sklearn.utils.metadata_routing.UNCHANGED) сохраняет существующий запрос. Это позволяет изменить запрос для некоторых параметров и не изменять для других.
Добавлен в версии 1.3.
Примечание
Этот метод актуален только если данный оценщик используется в качестве под-оценщика мета-оценщика, например, внутри Pipeline. В противном случае он не оказывает никакого влияния.
Параметры:
sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED
Маршрутизация метаданных для параметра sample_weight в score.