I keep getting this bug with regression datasets. With classification datasets, pymfe works fine but with regression it gives me this error (before I was able to use pymfe with regression datasets):
mfe.fit(X.values, y.values)
File "/home/fj-silva/.local/lib/python3.6/site-packages/pymfe/mfe.py", line 1034, in fit
**{**self._custom_args_ft, **kwargs})
File "/home/fj-silva/.local/lib/python3.6/site-packages/pymfe/_internal.py", line 1209, in process_precomp_groups
new_precomp_vals = precomp_mtd_callable(**kwargs) # type: ignore
File "/home/fj-silva/.local/lib/python3.6/site-packages/pymfe/statistical.py", line 128, in precompute_can_cors
can_cors = cls._calc_can_cors(N=N, y=y)
File "/home/fj-silva/.local/lib/python3.6/site-packages/pymfe/statistical.py", line 233, in _calc_can_cors
n_components=n_components).fit_transform(N, y_bin)
File "/opt/conda/envs/csw-aii/lib/python3.6/site-packages/sklearn/cross_decomposition/_pls.py", line 517, in fit_transform
return self.fit(X, y).transform(X, y)
File "/opt/conda/envs/csw-aii/lib/python3.6/site-packages/sklearn/cross_decomposition/_pls.py", line 333, in fit
tol=self.tol, norm_y_weights=self.norm_y_weights)
File "/opt/conda/envs/csw-aii/lib/python3.6/site-packages/sklearn/cross_decomposition/_pls.py", line 80, in _nipals_twoblocks_inner_loop
Y_pinv = pinv2(Y, check_finite=False, cond=cond_Y)
File "/opt/conda/envs/csw-aii/lib/python3.6/site-packages/scipy/linalg/basic.py", line 1374, in pinv2
u, s, vh = decomp_svd.svd(a, full_matrices=False, check_finite=False)
File "/opt/conda/envs/csw-aii/lib/python3.6/site-packages/scipy/linalg/decomp_svd.py", line 132, in svd
raise LinAlgError("SVD did not converge")
numpy.linalg.LinAlgError: SVD did not converge
features = ['nr_attr', 'nr_inst', 'nr_class', 'attr_to_inst', 'inst_to_attr', 'freq_class', 'nr_cor_attr',
'iq_range', 'kurtosis', 'max', 'min', 'var', 'cov', 'eigenvalues', 'skewness',
'joint_ent', 'mut_inf', 'eq_num_attr']
mfe = MFE(features=features)
mfe.fit(X.values, y.values)
ft = mfe.extract()
I already checked if the dataset contains nan or inf. And I already used StandardScaler to scale the data before fitting mfe. None of those worked
PS: Vi que os contribuidores são do Brazil. Eu sou de Portugal, por isso se quiserem falar em portugues não há problema :)