Ranking et search engine

C'est un petit exemple de ranking avec un très petit jeu de données, trop petit pour que le modèle soit performant, mais le code peut être réutilisé pour des exemples de taille raisonnable. C'est à dire probablement pas pour apprendre un moteur de recherche.

Le tableau qid contient l'identifiant de la requête, toutes les lignes associées à un identifiant correspondent à des résultats associés à cette requête. Dans ce jeu, il y a 7 requêtes distinctes.

On peut essayer d'abord XGBoost. Ce petit jeu de données est aussi disponible sur github/papierstat/datasets/data.

On peut calculer l'erreur au carré.

Mais cela n'est valable que si le score a un sens, ce qui est le cas ici. Si ce n'est pas le cas, il est possible d'évaluer les résultats avec la corrélation des rangs des résultats (coefficient de Kendall). Le module lightgbm est une autre option.

Autre option lightfm (article : Learning to Rank Sketchfab Models with LightFM). scikit-learn ne propose pas de modèle de ranking, il faut implémenter soi-même la transformation des données.