Apriori est un algorithme de détection des règles d’association: il trouve les combinaisons d’articles les plus fréquentes.
Il est principalement utilisé pour mettre en place des systèmes de recommendations — produits à ajouter au panier, relations à ajouter sur les réseaux sociaux, vidéos à regarder, etc.
support: utilisé pour sélectionner les groupes apparaissant fréquemment
Support(A, B) = probabilité qu’une transaction contienne A et B
confidence: utilisé pour générer les règles d’association
Confidence(A, B) = Support(A, B)/Support(A) = probabilité qu’une transaction contenant A contienne également B
Principe apriori: tous les sous-ensembles d’un ensemble d’éléments fréquent doivent être fréquents.
Pour chaque items de la base de données, compter le nombre de fois qu’il occure (C1).
Supprimer les éléments qui n’apparaissent pas fréquemment (L1). Le seuil à partir duquel un élément est considéré comme fréquent est un hyperparamètre — ex: apparaît dans au moins 1% des commandes.
Avec les éléments qui restent, créer des combinaisons de 2 (C2) — les articles qui ont été achetés ensemble sont mis dans un groupe.
Supprimer les combinaisons qui apparaissent le moins fréquemment (L2).
Avec les combinaisons qui restent, créer des combinaisons de 3 (C3). Et répéter ce processus jusqu’à ce qu’il ne soit plus possible de générer des groupes plus gros.
Calculer la confiance antecedant/conséquent pour chaque groupe d’éléments apparaissant souvent ensemble.
Forme: “Antecedent → Consequence [support, confidence]”
Si une personne achète le produit A, il y a 66% de chances qu’elle achète le produit C. Si elle achète le produit C, il y a 100% de chances qu’elle achète le produit A.
Apriori.ipynb
Association Rules Generation from Frequent Itemsets