Spec-Zone.ru › scikit-learn

PLSRegression

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

Регрессия PLS.

PLSRegression также известен как PLS2 или PLS1 в зависимости от количества целевых переменных.

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

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

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

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

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

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

Масштабировать ли X и y.

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

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

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

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

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

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

Атрибуты:
x_weights_ndarray формы (n_features, n_components)

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

y_weights_ndarray формы (n_targets, n_components)

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

x_loadings_ndarray формы (n_features, n_components)

Нагрузки X.

y_loadings_ndarray формы (n_targets, n_components)

Нагрузки y.

x_scores_ndarray формы (n_samples, n_components)

Преобразованные обучающие выборки.

y_scores_ndarray формы (n_samples, n_components)

Преобразованные целевые значения обучающей выборки.

x_rotations_ndarray формы (n_features, n_components)

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

y_rotations_ndarray формы (n_targets, n_components)

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

coef_ndarray формы (n_target, n_features)

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

intercept_ndarray формы (n_targets,)

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

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

n_iter_список формы (n_components,)

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

n_features_in_int

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

feature_names_in_ndarray формы (n_features_in_,)

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

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

См. также

PLSCanonical

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

Примеры

>>> from sklearn.cross_decomposition import PLSRegression
>>> 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]]
>>> pls2 = PLSRegression(n_components=2)
>>> pls2.fit(X, y)
PLSRegression()
>>> y_pred = pls2.predict(X)

Сравнение регрессии PLS с PCA см. в разделе Регрессия на главные компоненты и регрессия методом частичных наименьших квадратов.

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

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

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

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

yмассивоподобный объект формы (n_samples,) или (n_samples, n_targets)

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

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

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

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

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

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

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

yмассивоподобный объект формы (n_samples, n_targets), по умолчанию=None

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

Возвращает:
selfndarray формы (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_featuresмассивоподобный объект из строк или None, по умолчанию=None

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

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

Имена преобразованных признаков.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

yмассивоподобный объект формы (n_samples,) или (n_samples, n_components)

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

Возвращает:
X_originalndarray формы (n_samples, n_features)

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

y_originalndarray формы (n_samples, n_targets)

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

Примечания

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

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

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

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

Выборки.

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

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

Возвращает:
y_predndarray формы (n_samples,) или (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.

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

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

yмассивоподобный объект формы (n_samples,) или (n_samples, n_outputs)

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

sample_weightмассивоподобный объект формы (n_samples,), по умолчанию=None

Веса выборок.

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

Значение \(R^2\) для self.predict(X) относительно y.

Примечания

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

set_output(*, transform=None)[исходный код]

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

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

Параметры:
transform{“default”, “pandas”, “polars”}, по умолчанию=None

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Выборки для преобразования.

yподобный массиву объект формы (n_samples, n_targets), по умолчанию=None

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

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

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

Возвращает:
x_scores, y_scoresподобный массиву объект или кортеж подобных массиву объектов

Возвращает 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.PLSRegression.html

Spec-Zone.ru

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