fastFM
fastFM copied to clipboard
fm.predict gives nan values
Hi,
I follow the step-by-step provided in the test_ranking.py in order to use fastFM for ranking problem. Using my own dataset, the model returns nan
prediction value.
fm = bpr.FMRecommender(n_iter=2000,
init_stdev=0.01, l2_reg_w=.5, l2_reg_V=.5, rank=2,
step_size=.002, random_state=11)
fm.fit(x_train_sp_matrix,compares)
y_pred = fm.predict(X_test)
the X_test is simply the copy of my training data. what would be the case where fm model returns nan? any help would really be appreciated. thanks
I have the same problem but with sgd.FMClassification
Is there anyone know how to solve it?
Unfortunately many issues can lead to nan predictions.
- Make sure you model inputs are sound.
- If the predictions are nan check if the model parameter are nan too.
- Both
bpr.FMRecommender
andsgd.FMClassification
use stochastic gradient based solvers for the parameter estimation (fit). This means they are sensitive to thestep_size
and initial valuesinit_stdev
hyper-parameter. Getting this values wrong can often lead to 'nan' predictions. - The
bpr
implementation is not very robust and should currently only be used for small scale experiments.
@todor-markov I would recomment to use use the als/mcmc solver instead.