Providing user and item side data in FactorizationRecommender.evaluate()

User 3218 | 3/1/2016, 6:53:07 AM


I'm creating a factorization recommender with side information for users and items:

model = gl.recommender.factorization_recommender.create(train_ratings, user_id='id', item_id='target_id', target='rating', verbose=True, binary_target=True, user_data=user_data, item_data=item_data)

I don't see a way to pass user_data and item_data in model.evaluate(). Any suggestions?

Thanks, Delip


User 1592 | 3/1/2016, 7:27:12 AM

Hi Delip You are right. You can use model.predict to compute the score and manually evaluate the result. We will add your request to our wish list.

User 3218 | 3/1/2016, 3:02:20 PM

thanks @DannyBickson

User 1207 | 3/1/2016, 10:22:47 PM

Hello @delip -- correction to the above. model.evaluate() does not allow you to pass this information in, but model.evaluate_precision_recall() and model.evaulate_rmse() do. These allow you to pass arbitrary arguments through to the recommend() or predict() methods, respectively.

Hope that helps! -- Hoyt

User 3218 | 3/1/2016, 10:59:58 PM

thanks @hoytak