Yes:
*svd_solver*{‘auto’, ‘full’, ‘arpack’, ‘randomized’}, default=’auto’If auto
:
The solver is selected by a default policy based on X.shape and n_components:
if the input data is larger than 500x500 and the number of components to
extract is lower than 80% of the smallest dimension of the data, then the
more efficient ‘randomized’ method is enabled. Otherwise the exact full SVD
is computed and optionally truncated afterwards.
If full :
run exact full SVD calling the standard LAPACK solver via scipy.linalg.svd
and select the components by postprocessing
If arpack :
run SVD truncated to n_components calling ARPACK solver via
scipy.sparse.linalg.svds. It requires strictly 0 < n_components <
min(X.shape)
If randomized :
run randomized SVD by the method of Halko et al.
New in version 0.18.0.
On Mon, 28 Dec 2020 at 17:54, Mahmood Naderan <[email protected]> wrote:
> Hi Guillaume,
> Thanks for the reply. May I know if I can choose different solvers in the
> scikit package or not.
>
> Regards,
> Mahmood
>
>
>
>
> On Mon, Dec 28, 2020 at 4:30 PM Guillaume Lemaître <[email protected]>
> wrote:
>
>> n_components set to 'auto' is a strategy that will pick the number of
>> components. The sign of the PC does not matter so much since they are still
>> orthogonal. So change will depend of the solver that should be different in
>> both software.
>>
>>
>>
>>
>> Sent from my phone - sorry to be brief and potential misspell.
>>
>>
>> _______________________________________________
>> scikit-learn mailing list
>> [email protected]
>> https://mail.python.org/mailman/listinfo/scikit-learn
>>
> _______________________________________________
> scikit-learn mailing list
> [email protected]
> https://mail.python.org/mailman/listinfo/scikit-learn
>
--
Guillaume Lemaitre
Scikit-learn @ Inria Foundation
https://glemaitre.github.io/
_______________________________________________
scikit-learn mailing list
[email protected]
https://mail.python.org/mailman/listinfo/scikit-learn