Spec-Zone.ru › scikit-learn

MultiTaskLassoCV

classsklearn.linear_model.MultiTaskLassoCV(*, eps=0.001, alphas=100, fit_intercept=True, max_iter=1000, tol=0.0001, copy_X=True, cv=None, verbose=False, n_jobs=None, random_state=None, selection='cyclic')[исходный код]

Модель 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, default=1e-3

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

alphasarray-like or int, default=None

Значения alpha для проверки вдоль пути регуляризации. Если задано целое число, alphas значения генерируются автоматически. Если задано значение типа array-like, используется список значений alpha.

Изменено в версии 1.7: alphas принимает целочисленное значение, благодаря чему больше не требуется передавать n_alphas.

fit_interceptbool, default=True

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

max_iterint, default=1000

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

tolfloat, default=1e-4

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

copy_Xbool, default=True

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

cvint, cross-validation generator or iterable, default=None

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

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

Для значений типа int/None используется KFold.

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

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

verbosebool or int, default=False

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

n_jobsint, default=None

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

random_stateint, RandomState instance, default=None

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

selection{‘cyclic’, ‘random’}, default=’cyclic’

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

Атрибуты:
intercept_ndarray of shape (n_targets,)

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

coef_ndarray of shape (n_targets, n_features)

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

alpha_float

Величина регуляризации, выбранная с помощью перекрёстной проверки.

mse_path_ndarray of shape (n_alphas, n_folds)

Среднеквадратичная ошибка на тестовом наборе для каждого блока при разных значениях alpha.

alphas_ndarray of shape (n_alphas,)

Сетка значений alpha, использованная при обучении.

n_iter_int

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

dual_gap_float

Двойственный разрыв в конце оптимизации при оптимальном значении alpha.

n_features_in_int

Число признаков, обнаруженных при вызове fit.

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

feature_names_in_ndarray of shape (n_features_in_,)

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

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

См. также

MultiTaskElasticNet

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

ElasticNetCV

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

MultiTaskElasticNetCV

Multi-task ElasticNet с регуляризацией L1/L2 и встроенной перекрёстной проверкой.

Примечания

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

В 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.4321...)
>>> reg.predict(X[:1,])
array([[153.7971,  94.9015]])
fit(X, y, sample_weight=None, **params)[исходный код]

Обучает модель с внутренней перекрёстной проверкой и покоординатным спуском.

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

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

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

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

Целевые значения.

sample_weightfloat or array-like of shape (n_samples,), default=None

Веса объектов, используемые при обучении и вычислении взвешенной среднеквадратичной ошибки для каждого блока перекрёстной проверки. Обратите внимание, что среднеквадратичная ошибка с перекрёстной проверкой, которая в итоге используется для выбора наилучшей модели, представляет собой невзвешенное среднее значений (взвешенной) среднеквадратичной ошибки для каждого тестового блока.

**paramsdict, default=None

Параметры, передаваемые разбивателю для перекрёстной проверки.

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

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

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

get_metadata_routing()[исходный код]

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

Информацию о работе механизма маршрутизации см. в руководстве пользователя.

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

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

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

get_params(deep=True)[исходный код]

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

Параметры:
deepbool, default=True

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

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

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

staticpath(X, y, *, eps=0.001, n_alphas='deprecated', alphas='warn', precompute='auto', Xy=None, copy_X=True, coef_init=None, verbose=False, return_n_iter=False, positive=False, **params)[исходный код]

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

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

Для задач с одной выходной переменной она имеет вид:

(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, default=1e-3

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

n_alphasint, default=100

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

alphasarray-like, default=None

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

precompute‘auto’, bool or array-like of shape (n_features, n_features), default=’auto’

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

Xyarray-like of shape (n_features,) or (n_features, n_targets), default=None

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

copy_Xbool, default=True

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

coef_initarray-like of shape (n_features, ), default=None

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

verbosebool or int, default=False

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

return_n_iterbool, default=False

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

positivebool, default=False

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

**paramskwargs

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

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

Значения alpha вдоль пути, для которых вычисляются модели.

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

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

dual_gapsndarray of shape (n_alphas,)

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

n_iterslist of int

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

См. также

lars_path

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

Lasso

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

LassoLars

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

LassoCV

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

LassoLarsCV

Lasso с перекрёстной проверкой на основе алгоритма LARS.

sklearn.decomposition.sparse_encode

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

Примечания

Пример см. в разделе examples/linear_model/plot_lasso_lasso_lars_elasticnet_path.py.

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

Обратите внимание, что в некоторых случаях решатель 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)[исходный код]

Выполняет предсказание с помощью линейной модели.

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

Образцы.

Возвращает:
Cndarray of shape (n_samples,) or (n_samples, n_outputs)

Предсказанные значения.

score(X, y, sample_weight=None)[исходный код]

Возвращает коэффициент детерминации для тестовых данных.

Коэффициент детерминации \(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.

Примечания

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

set_fit_request(*, sample_weight:bool|None|str='$UNCHANGED$') → MultiTaskLassoCV[исходный код]

Настраивает, следует ли запрашивать передачу метаданных методу 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, or None, default=sklearn.utils.metadata_routing.UNCHANGED

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

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

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

set_params(**params)[исходный код]

Задать параметры этого оценивателя.

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

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

Параметры оценивателя.

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

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

set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') → MultiTaskLassoCV[исходный код]

Настроить, следует ли запрашивать передачу метаданных методу score.

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

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

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

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

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

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

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

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

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

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

Spec-Zone.ru

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