2

J'ai construit un modèle de recommandation sur un ensemble de données transactionnelles élément utilisateur dans lequel chaque transaction est représentée par 1.Interprétation des résultats de lightFM

model = LightFM(learning_rate=0.05, loss='warp') 

Voici les résultats

Train precision at k=3: 0.115301 
Test precision at k=3: 0.0209936 

Train auc score: 0.978294 
Test auc score : 0.810757 

Train recall at k=3: 0.238312330233 
Test recall at k=3: 0.0621618086561 

Quelqu'un peut-il me aider à interpréter ce résultat? Comment se fait-il que j'obtienne un si bon score d'auc et une si mauvaise précision/rappel? La précision/rappel devient encore pire pour le classement personnalisé bayésien 'bpr'.

tâche de prévision

users = [0] 
items = np.array([13433, 13434, 13435, 13436, 13437, 13438, 13439, 13440]) 
model.predict(users, item) 

Résultat

array([-1.45337546, -1.39952552, -1.44265926, -0.83335167, -0.52803332, 
    -1.06252205, -1.45194077, -0.68543684]) 

Comment interpréter les scores de prédiction?

Merci

Répondre

1

En ce qui concerne la différence entre la précision @ K à l'ASC, vous voudrez peut-être jeter un oeil à ma réponse ici: Evaluating the LightFM Recommendation Model.

Les scores eux-mêmes n'ont pas d'échelle définie et ne sont pas interprétables. Ils n'ont de sens que dans le contexte de la définition d'un classement sur des articles pour un utilisateur donné, avec des scores plus élevés indiquant une préférence prédite plus forte.