Skip to content

PLSRegression unexpected keyword argument 'algorithm' #19197

Closed
@victorconka

Description

@victorconka

Hello,

Describe the bug

I'm using PLSRegression for dimensional reduction of data. So I was playing around with attributes and found that the 'algorithm' is missing.

Steps/Code to Reproduce

from sklearn.preprocessing import LabelEncoder
from sklearn.cross_decomposition import PLSRegression

categories = ['cat_1', 'cat_2', 'cat_3']
n_rows = len(categories) * 4000
ds = pd.DataFrame(np.random.randint(0,100,size=(n_rows, 40))/1.0, columns=['col_%s'%str(i) for i in range(0, 40)])
ds['tag'] = categories * int(n_rows/3)

labelencoder  = LabelEncoder()
Y = pd.DataFrame()
Y['tag_num'] = labelencoder.fit_transform(ds.tag)
pls = PLSRegression(n_components=2, scale=False, algorithm='svd')
x_scaled = ds.loc[:, (ds.columns != _TAG_NAME) ]
df_pls = ds.loc[:, [_TAG_NAME]]
embedding = pls.fit(x_scaled, Y).transform(x_scaled)
df_pls[['x', 'y']] = embedding
plot_figure(df_pls)

Expected Results

Expected dimensionality reduction

Actual Results

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-7-985f6a6383fe> in <module>
     11 Y = pd.DataFrame()
     12 Y['tag_num'] = labelencoder.fit_transform(ds.tag)
---> 13 pls = PLSRegression(n_components=2, scale=False, algorithm='svd')
     14 x_scaled = ds.loc[:, (ds.columns != 'tag') ]
     15 df_pls = ds.loc[:, ['tag']]

~/anaconda3/envs/nilm/lib/python3.6/site-packages/sklearn/utils/validation.py in inner_f(*args, **kwargs)
     61             extra_args = len(args) - len(all_args)
     62             if extra_args <= 0:
---> 63                 return f(*args, **kwargs)
     64 
     65             # extra_args > 0

TypeError: __init__() got an unexpected keyword argument 'algorithm'

Versions

System:
python: 3.6.11 | packaged by conda-forge | (default, Aug 5 2020, 20:09:42) [GCC 7.5.0]
executable: /home/ozm/anaconda3/envs/nilm/bin/python
machine: Linux-5.4.0-60-generic-x86_64-with-debian-bullseye-sid

Python dependencies:
pip: 20.2.4
setuptools: 49.6.0.post20201009
sklearn: 0.24.0
numpy: 1.19.2
scipy: 1.5.2
Cython: 0.29.21
pandas: 1.1.3
matplotlib: 3.3.2
joblib: 0.17.0
threadpoolctl: 2.1.0

Built with OpenMP: True

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions