Closed
Description
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