Spec-Zone.ru › scikit-learn

Многозадачный LassoCV

классsklearn.linear_model.MultiTaskLassoCV(*, eps=0.001, n_alphas=100, alphas=None, fit_intercept=True, max_iter=1000, tol=0.0001, copy_X=True, cv=None, verbose=False, n_jobs=None, random_state=None, selection='cyclic')[source]

Модель Multi-task Lasso, обученная с использованием смешанной L1/L2-нормы в качестве регуляризатора.

См. запись в глоссарии для оценщика перекрестной проверки.

Целевая функция оптимизации для MultiTaskLasso:

(1 / (2 * n_samples)) * ||Y - XW||^Fro_2 + alpha * ||W||_21

Где:

||W||_21 = \sum_i \sqrt{\sum_j w_{ij}^2}

т.е. сумма норм каждой строки.

Подробнее см. в руководстве пользователя.

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

Параметры:
epsfloat, по умолчанию=1e-3

Длина пути. eps=1e-3 означает, что alpha_min / alpha_max = 1e-3.

n_alphasint, по умолчанию=100

Количество альфа-значений вдоль пути регуляризации.

alphasarray-like, по умолчанию=None

Список альфа-значений, для которых необходимо вычислить модели. Если не указан, устанавливается автоматически.

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

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

max_iterint, по умолчанию=1000

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

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

Допуск для оптимизации: если обновления меньше, чем tol, код оптимизации проверяет двойную разницу для оптимальности и продолжает, пока она не станет меньше, чем tol.

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

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

cvint, генератор перекрестной проверки или итерируемый объект, по умолчанию=None

Определяет стратегию разбиения для перекрестной проверки. Возможные входные данные для cv:

  • None, для использования стандартной 5-кратной перекрестной проверки,
  • int, для указания количества фолдов.
  • разделитель CV,
  • Итерируемый объект, возвращающий (train, test) разбиения как массивы индексов.

Для целочисленных/None входных данных используется KFold.

См. руководство пользователя для различных стратегий перекрестной проверки, которые могут быть здесь использованы.

Изменено в версии 0.22: cv значение по умолчанию при None изменено с 3-кратной на 5-кратную перекрестную проверку.

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

Уровень подробности вывода.

n_jobsint, по умолчанию=None

Количество ЦП, используемых во время перекрестной проверки. Обратите внимание, что это используется только в случае, если задано несколько значений для l1_ratio. None означает 1, за исключением контекста joblib.parallel_backend. -1 означает использование всех процессоров. См. глоссарий для получения дополнительных сведений.

random_stateint, экземпляр RandomState, по умолчанию=None

Зерно псевдослучайного генератора, выбирающего случайный коэффициент для обновления. Используется, когда selection == ‘random’. Для воспроизводимого результата при многократных вызовах функции передайте целое число. См. глоссарий.

selection{‘cyclic’, ‘random’}, по умолчанию=’cyclic’

Если установлено в ‘random’, каждый итерационный шаг обновляет случайный коэффициент вместо последовательного прохода по коэффициентам по умолчанию. Это (установка в ‘random’) часто приводит к значительно более быстрому сходимости, особенно если tol больше, чем 1e-4.

Атрибуты:
intercept_ndarray формы (n_targets,)

Свободный член в функции принятия решения.

coef_ndarray формы (n_targets, n_features)

Вектор параметров (W в формуле функции стоимости). Обратите внимание, что coef_ хранит транспонированный W, W.T.

alpha_float

Значение штрафа, выбранное с помощью перекрестной проверки.

mse_path_ndarray формы (n_alphas, n_folds)

Средняя квадратичная ошибка для тестовой выборки в каждом фолде, варьируя альфа.

alphas_ndarray формы (n_alphas,)

Диапазон альфа-значений, используемых для обучения.

n_iter_int

Количество итераций, выполненных решателем по методу координатного спуска, чтобы достичь заданной точности для оптимального альфа.

dual_gap_float

Двойная разница в конце оптимизации для оптимального альфа.

n_features_in_int

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

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

feature_names_in_ndarray формы (n_features_in_,)

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

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

См. также

MultiTaskElasticNet

Модель Multi-task ElasticNet, обученная с использованием смешанной L1/L2-нормы в качестве регуляризатора.

ElasticNetCV

Модель Elastic Net с лучшим выбором модели с помощью перекрестной проверки.

MultiTaskElasticNetCV

Multi-task L1/L2 ElasticNet с интегрированной перекрестной проверкой.

Примечания

Для обучения модели используется алгоритм координатного спуска.

В fit, после того, как лучший параметр alpha найден с помощью перекрестной проверки, модель обучается повторно с использованием всего обучающего набора.

Для избежания ненужного дублирования памяти, X и y аргументы метода fit должны быть непосредственно переданы в виде массивов NumPy с непрерывным хранением в формате Fortran.

Примеры

>>> from sklearn.linear_model import MultiTaskLassoCV
>>> from sklearn.datasets import make_regression
>>> from sklearn.metrics import r2_score
>>> X, y = make_regression(n_targets=2, noise=4, random_state=0)
>>> reg = MultiTaskLassoCV(cv=5, random_state=0).fit(X, y)
>>> r2_score(y, reg.predict(X))
0.9994...
>>> reg.alpha_
np.float64(0.5713...)
>>> reg.predict(X[:1,])
array([[153.7971...,  94.9015...]])
fit(X, y, **params)[source]

Обучение модели MultiTaskLasso с использованием метода координатного спуска.

Обучение проводится на сетке значений альфа, а оптимальное альфа оценивается с помощью перекрестной проверки.

Параметры:
Xndarray формы (n_samples, n_features)

Данные.

yndarray формы (n_samples, n_targets)

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

**paramsdict, по умолчанию=None

Параметры, передаваемые разделителю CV.

Добавлена в версии 1.4: Доступно только если enable_metadata_routing=True, что может быть установлено с помощью sklearn.set_config(enable_metadata_routing=True). См. Руководство пользователя по маршрутизации метаданных для получения дополнительных сведений.

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

Возвращает экземпляр обученной модели.

END_OF_DOCUMENT_MARKER
get_metadata_routing()[source]

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

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

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

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

Объект MetadataRouter, содержащий информацию о маршрутизации.

get_params(deep=True)[source]

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

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

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

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

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

staticpath(X, y, *, eps=0.001, n_alphas=100, alphas=None, precompute='auto', Xy=None, copy_X=True, coef_init=None, verbose=False, return_n_iter=False, positive=False, **params)[source]

Вычисление пути Лассо с помощью метода координатного спуска.

Функция оптимизации Лассо различается для одновыходных и многовыходных задач.

Для одновыходных задач:

(1 / (2 * n_samples)) * ||y - Xw||^2_2 + alpha * ||w||_1

Для многовыходных задач:

(1 / (2 * n_samples)) * ||Y - XW||^2_Fro + alpha * ||W||_21

Где:

||W||_21 = \sum_i \sqrt{\sum_j w_{ij}^2}

т.е. сумма норм каждой строки.

Подробнее в Руководстве пользователя.

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

Обучающие данные. Передавайте напрямую как данные в формате Fortran для избежания ненужного дублирования памяти. Если y является одновыходной, то X может быть разреженной.

y{array-like, sparse matrix} of shape (n_samples,) or (n_samples, n_targets)

Значения целевой переменной.

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

Длина пути. eps=1e-3 означает, что alpha_min / alpha_max = 1e-3.

n_alphasint, по умолчанию=100

Количество альфа-значений вдоль пути регуляризации.

alphasarray-like, по умолчанию=None

Список альфа-значений, для которых будут вычислены модели. Если None альфа-значения устанавливаются автоматически.

precompute‘auto’, bool or array-like of shape (n_features, n_features), по умолчанию=’auto’

Использовать ли предварительно вычисленную матрицу Грама для ускорения вычислений. Если установлено 'auto', пусть решение определит. Матрица Грама также может быть передана в качестве аргумента.

Xyarray-like of shape (n_features,) or (n_features, n_targets), по умолчанию=None

Xy = np.dot(X.T, y), которое можно предварительно вычислить. Оно полезно только в случае предварительного вычисления матрицы Грама.

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

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

coef_initarray-like of shape (n_features, ), по умолчанию=None

Начальные значения коэффициентов.

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

Уровень детализации вывода.

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

Возвращать количество итераций или нет.

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

Если установлено в True, заставляет коэффициенты быть положительными. (Допускается только когда y.ndim == 1).

**paramskwargs

Ключевые аргументы, передаваемые решателю координатного спуска.

Возвращает:
alphasndarray of shape (n_alphas,)

Альфа-значения вдоль пути, для которых вычисляются модели.

coefsndarray of shape (n_features, n_alphas) or (n_targets, n_features, n_alphas)

Коэффициенты вдоль пути.

dual_gapsndarray of shape (n_alphas,)

Двойные разрывы в конце оптимизации для каждого альфа-значения.

n_iterslist of int

Количество итераций, выполненных оптимизатором координатного спуска для достижения заданной точности для каждого альфа-значения.

См. также

lars_path

Вычисление пути наименьших углов регрессии или пути Лассо с помощью алгоритма LARS.

Lasso

Модель Лассо — линейная модель, оценивающая разреженные коэффициенты.

LassoLars

Модель Лассо, обученная методом наименьших углов (LARS).

LassoCV

Линейная модель Лассо с итеративным обучением вдоль пути регуляризации.

LassoLarsCV

Перекрестно-валидированная модель Лассо, использующая алгоритм LARS.

sklearn.decomposition.sparse_encode

Оцениватель, который можно использовать для преобразования сигналов в разреженную линейную комбинацию атомов из фиксированного.

Примечания

Для примера, см. examples/linear_model/plot_lasso_lasso_lars_elasticnet_path.py.

Для избежания ненужного дублирования памяти аргумент X метода fit должен быть передан непосредственно как Fortran-непрерывная numpy-матрица.

Обратите внимание, что в некоторых случаях решатель Lars может быть значительно быстрее для реализации этой функциональности. В частности, линейная интерполяция может использоваться для извлечения коэффициентов модели между значениями, выведенными lars_path.

Примеры

Сравнение lasso_path и lars_path с интерполяцией:

>>> import numpy as np
>>> from sklearn.linear_model import lasso_path
>>> X = np.array([[1, 2, 3.1], [2.3, 5.4, 4.3]]).T
>>> y = np.array([1, 2, 3.1])
>>> # Use lasso_path to compute a coefficient path
>>> _, coef_path, _ = lasso_path(X, y, alphas=[5., 1., .5])
>>> print(coef_path)
[[0.         0.         0.46874778]
 [0.2159048  0.4425765  0.23689075]]
>>> # Now use lars_path and 1D linear interpolation to compute the
>>> # same path
>>> from sklearn.linear_model import lars_path
>>> alphas, active, coef_path_lars = lars_path(X, y, method='lasso')
>>> from scipy import interpolate
>>> coef_path_continuous = interpolate.interp1d(alphas[::-1],
...                                             coef_path_lars[:, ::-1])
>>> print(coef_path_continuous([5., 1., .5]))
[[0.         0.         0.46915237]
 [0.2159048  0.4425765  0.23668876]]
predict(X)[source]

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

Параметры:
Xarray-like или разреженная матрица, форма (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.

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

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

yarray-like формы (n_samples,) или (n_samples, n_outputs)

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

sample_weightarray-like формы (n_samples,), по умолчанию None

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

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

\(R^2\) для self.predict(X) по отношению к y.

Примечания

Значение \(R^2\), используемое при вызове score для регрессора, использует multioutput='uniform_average' с версии 0.23, чтобы сохранить согласованность с значением по умолчанию функции r2_score. Это влияет на метод score всех регрессоров с несколькими выходами (кроме MultiOutputRegressor).

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

Запрос метаданных, переданных методу fit.

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

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

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

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

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

Примечание

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

Параметры:
sample_weightstr, True, False, или None, по умолчанию sklearn.utils.metadata_routing.UNCHANGED

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

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

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

set_params(**params)[source]

Устанавливает параметры данного оценщика.

Метод работает как с простыми оценщиками, так и с вложенными объектами (такими как Pipeline). Последние имеют параметры вида <component>__<parameter>, чтобы можно было обновить каждый компонент вложенного объекта.

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

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

Возвращает:
selfэкземпляр оценщика

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

set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') → MultiTaskLassoCV[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

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

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

Spec-Zone.ru

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