Because eALS is an extended version of ALS, it shares the same interfaces as ALS. One could deploy a code just substituting "ALS" into "EALS". But eALS needs the additional hyperparameters to construct a loss function for training, such as "c0" and "exponent" where "c0" is the strength of the negative feedback and "exponent" is the control parameter of how item popularity affects the user preferences for unseen items(No user-item interactions). User should give hyperparameters "c0" and "exponent" to eALS when an instance is instantiated.
linking BLAS
A BLAS subroutine SSYRK will be called during the training process. Using OpenBLAS is highly recommended so that it is employed as a default setting in setup.py. One can switch from OpenBLAS to any compatible BLAS library that supports multithreading operations.
usecase
eALS supports the same interfaces as ALS. The example code is presented as follows,
eALS
Element-wise ALS algorithm, dubbed as
eALS
, is added to the buffalo framework. (Detailed algorithm flow is presented in "Fast Matrix Factorization for Online Recommendation with Implicit Feedback")Because
eALS
is an extended version ofALS
, it shares the same interfaces asALS
. One could deploy a code just substituting "ALS" into "EALS". ButeALS
needs the additional hyperparameters to construct a loss function for training, such as "c0" and "exponent" where "c0" is the strength of the negative feedback and "exponent" is the control parameter of how item popularity affects the user preferences for unseen items(No user-item interactions). User should give hyperparameters "c0" and "exponent" toeALS
when an instance is instantiated.linking BLAS
A BLAS subroutine SSYRK will be called during the training process. Using OpenBLAS is highly recommended so that it is employed as a default setting in
setup.py
. One can switch from OpenBLAS to any compatible BLAS library that supports multithreading operations.usecase
eALS
supports the same interfaces asALS
. The example code is presented as follows,