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