def test_sklearn_api(): model = LightFM() params = model.get_params() model2 = LightFM(**params) params2 = model2.get_params() assert params == params2 model.set_params(**params) params['invalid_param'] = 666 with pytest.raises(ValueError): model.set_params(**params)
# In[ ]: alpha = 0.003 epochs = 50 num_components = 32 step = 5 # %%[markdown] # # > Model # In[ ]: model_k10 = LightFM(no_components=num_components, loss='warp', k=10, learning_schedule='adagrad', user_alpha=alpha, item_alpha=alpha) # %%[markdown] # # > Train logger.log(str(model_k10.get_params())) for epoch in tqdm(range(epochs)): model_k10.fit_partial(train, epochs=step, user_features=user_identity, item_features=item_identity, num_threads=6, verbose=True) mean_precision = precision_at_k(model_k10, train, k=10).mean() logger.log("Precision k10 : {}".format(mean_precision)) logger.save_model(model_k10, session_log_path + "models/epoch_{}".format(epoch))