Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

sklearn.cross_decomposition.PLSRegression() function in Python

  • Last Updated : 03 Jun, 2021

PLS regression is a Regression method that takes into account the latent structure in both datasets. Partial least squares regression performed well in MRI-based assessments for both single-label and multi-label learning reasons. PLSRegression acquires from PLS with mode=”A” and deflation_mode=”regression”. Additionally, known PLS2 or PLS in the event of a one-dimensional response.

Syntax: class sklearn.cross_decomposition.PLSRegression(n_components=2, *, scale=True, max_iter=500, tol=1e-06, copy=True)

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course


This function accepts five parameters which are mentioned above and defined below:

  • n_components:<int>: Its default value is 2, and it accepts the number of components that are needed to keep.
  • scale:<bool>: Its default value is True, and it accepts whether to scale the data or not.
  • max_iteran :<int>: Its default value is 500, and it accepts the maximum number of iteration of the NIPALS inner loop.
  • tol: <non-negative real>: Its default value is 1e-06, and it accepts tolerance used in the iterative algorithm.
  • copy:<bool>: Its default value is True, and it shows that deflection should be done on a copy. Don’t care about side effects when the default value is set True.

Return Value: PLSRegression is an approach for predicting response.

The below Example illustrates the use of the PLSRegression() Model.



import numpy as np
import pandas as pd
from sklearn import datasets
import matplotlib.pyplot as plt
from sklearn.cross_decomposition import PLSRegression
from sklearn.model_selection import train_test_split
# load boston data using sklearn datasets
boston = datasets.load_boston()
# separate data and target values
x =
y =
# tabular data structure with labeled axes
# (rows and columns) using DataFrame
df_x = pd.DataFrame(x, columns=boston.feature_names)
df_y = pd.DataFrame(y)
# create PLSRegression model
pls2 = PLSRegression(n_components=2)
# split data
x_train, x_test, y_train, y_test = train_test_split(
    df_x, df_y, test_size=0.30, random_state=1)
# fit the model, y_train)
# predict the values
Y_pred = pls2.predict(x_test)
# plot the predicted Values
# print the predicted value





Plot the Predicted value using PLSRegression



Print the predicted value using trained model



My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!