Spec-Zone.ru › scikit-learn

PLSCanonical

classsklearn.cross_decomposition.PLSCanonical(n_components=2, *, scale=True, algorithm='nipals', max_iter=500, tol=1e-06, copy=True)[исходный код]

Преобразователь и регрессор частичных наименьших квадратов.

Сравнение с другими алгоритмами перекрёстного разложения см. в разделе Сравнение методов перекрёстного разложения.

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

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

Параметры:
n_componentsint, default=2

Количество сохраняемых компонент. Должно быть в [1, min(n_samples, n_features, n_targets)].

scalebool, default=True

Следует ли масштабировать X и y.

algorithm{‘nipals’, ‘svd’}, default=’nipals’

Алгоритм, используемый для оценки первых сингулярных векторов матрицы взаимной ковариации. Вариант ‘nipals’ использует степенной метод, а ‘svd’ вычисляет полное сингулярное разложение.

max_iterint, default=500

Максимальное количество итераций степенного метода при algorithm='nipals'. В противном случае игнорируется.

tolfloat, default=1e-06

Допуск, используемый в качестве критерия сходимости степенного метода: алгоритм останавливается, когда квадрат нормы u_i - u_{i-1} становится меньше tol, где u соответствует левому сингулярному вектору.

copybool, default=True

Следует ли копировать X и y при вызове fit перед центрированием и, возможно, масштабированием. Если значение False, эти операции выполняются на месте, изменяя оба массива.

Атрибуты:
x_weights_ndarray of shape (n_features, n_components)

Левые сингулярные векторы матриц взаимной ковариации на каждой итерации.

y_weights_ndarray of shape (n_targets, n_components)

Правые сингулярные векторы матриц взаимной ковариации на каждой итерации.

x_loadings_ndarray of shape (n_features, n_components)

Нагрузки X.

y_loadings_ndarray of shape (n_targets, n_components)

Нагрузки y.

x_rotations_ndarray of shape (n_features, n_components)

Матрица проекции, используемая для преобразования X.

y_rotations_ndarray of shape (n_targets, n_components)

Матрица проекции, используемая для преобразования y.

coef_ndarray of shape (n_targets, n_features)

Коэффициенты линейной модели, для которой y аппроксимируется как y = X @ coef_.T + intercept_.

intercept_ndarray of shape (n_targets,)

Свободные члены линейной модели, для которой y аппроксимируется как y = X @ coef_.T + intercept_.

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

n_iter_list of shape (n_components,)

Количество итераций степенного метода для каждой компоненты. Пусто, если algorithm='svd'.

n_features_in_int

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

feature_names_in_ndarray of shape (n_features_in_,)

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

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

См. также

CCA

Канонический корреляционный анализ.

PLSSVD

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

Примеры

>>> from sklearn.cross_decomposition import PLSCanonical
>>> X = [[0., 0., 1.], [1.,0.,0.], [2.,2.,2.], [2.,5.,4.]]
>>> y = [[0.1, -0.2], [0.9, 1.1], [6.2, 5.9], [11.9, 12.3]]
>>> plsca = PLSCanonical(n_components=2)
>>> plsca.fit(X, y)
PLSCanonical()
>>> X_c, y_c = plsca.transform(X, y)
fit(X, y)[исходный код]

Обучить модель на данных.

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

Обучающие векторы, где n_samples — количество образцов, а n_features — количество предикторов.

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

Целевые векторы, где n_samples — количество образцов, а n_targets — количество целевых переменных.

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

Обученная модель.

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

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

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

Обучающие векторы, где n_samples — количество образцов, а n_features — количество предикторов.

yarray-like of shape (n_samples, n_targets), default=None

Целевые векторы, где n_samples — количество образцов, а n_targets — количество целевых переменных.

Возвращает:
selfndarray of shape (n_samples, n_components)

Возвращает x_scores, если y не задан, и (x_scores, y_scores) в противном случае.

get_feature_names_out(input_features=None)[исходный код]

Получить названия выходных признаков для преобразования.

К названиям выходных признаков добавляется имя класса в нижнем регистре. Например, если преобразователь возвращает 3 признака, их названия будут следующими: ["class_name0", "class_name1", "class_name2"].

Параметры:
input_featuresarray-like of str or None, default=None

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

Возвращает:
feature_names_outndarray of str objects

Названия преобразованных признаков.

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

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

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

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

Объект MetadataRequest, содержащий сведения о маршрутизации.

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

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

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

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

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

Имена параметров и соответствующие им значения.

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

Преобразовать данные обратно в исходное пространство.

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

Новые данные, где n_samples — количество образцов, а n_components — количество компонент PLS.

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

Новая целевая переменная, где n_samples — количество образцов, а n_components — количество компонент PLS.

Возвращает:
X_originalndarray of shape (n_samples, n_features)

Восстановленные данные X.

y_originalndarray of shape (n_samples, n_targets)

Восстановленную целевую переменную X. Возвращается, только если задан y.

Примечания

Это преобразование будет точным, только если n_components=n_features.

predict(X, copy=True)[исходный код]

Предсказать целевые значения для заданных образцов.

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

Образцы.

copybool, default=True

Следует ли копировать X или выполнять нормализацию на месте.

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

Возвращает предсказанные значения.

Примечания

Для этого вызова требуется оценить матрицу формы (n_features, n_targets), что может стать проблемой в пространстве высокой размерности.

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_output(*, transform=None)[исходный код]

Задать контейнер выходных данных.

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

Параметры:
transform{“default”, “pandas”, “polars”}, default=None

Настроить формат вывода transform и fit_transform.

  • "default": формат вывода преобразователя по умолчанию
  • "pandas": вывод в формате DataFrame
  • "polars": вывод в формате Polars
  • None: конфигурация преобразования не меняется

Добавлено в версии 1.4: добавлен параметр "polars".

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

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

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

Задать параметры этого оценщика.

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

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

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

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

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

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

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

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

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

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

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

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

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

Настройка маршрутизации метаданных для параметра copy в predict.

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

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

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

Настроить, следует ли запрашивать передачу метаданных в метод 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

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

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

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

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

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

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

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

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

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

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

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

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

transform(X, y=None, copy=True)[исходный код]

Выполнить снижение размерности.

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

Образцы для преобразования.

yarray-like of shape (n_samples, n_targets), default=None

Целевые векторы.

copybool, default=True

Следует ли копировать X и y или выполнять нормализацию на месте.

Возвращает:
x_scores, y_scoresarray-like or tuple of array-like

Возвращает x_scores, если y не задан, и (x_scores, y_scores) в противном случае.

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

Сравнение методов декомпозиции

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

Spec-Zone.ru

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