Maison  >  Article  >  développement back-end  >  Techniques d'exploration de règles d'association en Python

Techniques d'exploration de règles d'association en Python

王林
王林original
2023-06-09 23:07:352084parcourir

Python est un langage de programmation puissant qui peut être appliqué dans divers domaines, notamment l'exploration de données et l'apprentissage automatique. Dans le domaine de l'exploration de données, l'exploration de règles d'association est une technique couramment utilisée qui peut être utilisée pour découvrir les relations entre différents éléments d'un ensemble de données et l'impact de ces relations sur d'autres éléments. Cet article présentera brièvement les techniques d'exploration de règles d'association en Python.

  1. Algorithme Apriori

L'algorithme Apriori est un algorithme classique dans le domaine de l'exploration de règles d'association, qui peut être utilisé pour découvrir des ensembles d'éléments fréquents et des règles d'association dans des ensembles de données. Les ensembles d'éléments fréquents font référence à l'ensemble d'éléments qui apparaissent le plus fréquemment dans l'ensemble de données, tandis que les règles d'association font référence à la relation entre deux éléments ou plus. Ils peuvent apparaître en même temps, ou l'apparition de l'un signifie que l'autre est également probable. apparaître.

Vous pouvez utiliser la fonction apriori de la bibliothèque mlxtend pour implémenter l'algorithme Apriori en Python. Voici un exemple de code simple :

from mlxtend.frequent_patterns import apriori

# 构建数据集
data = [['牛奶', '面包', '啤酒'],
        ['奶酪', '面包', '黄油'],
        ['牛奶', '面包', '黄油', '鸡蛋'],
        ['奶酪', '黄油', '鸡蛋'],
        ['面包', '啤酒']]

# 使用apriori算法挖掘频繁项集
frequent_itemsets = apriori(data, min_support=0.6)

# 输出频繁项集
print(frequent_itemsets)

Dans le code ci-dessus, nous définissons d'abord un ensemble de données qui contient le contenu de cinq paniers d'achat. Utilisez ensuite la fonction apriori de la bibliothèque mlxtend pour extraire des ensembles d'éléments fréquents. Le premier paramètre de la fonction est l'ensemble de données et le deuxième paramètre est le seuil minimum de support, qui est ici fixé à 0,6.

Dans le résultat, nous pouvons voir que l'algorithme a trouvé deux ensembles d'éléments fréquents : ['Bread'] et ['Milk', 'Bread']. Cela signifie que dans cet ensemble de données, le plus grand nombre de personnes achètent du pain, suivi du lait et du pain. Nous pouvons découvrir des ensembles d'éléments fréquents de différentes tailles en ajustant le seuil de support.

  1. Extraction des règles d'association

Après avoir découvert des ensembles d'éléments fréquents, nous pouvons continuer à extraire les règles d'association. Les règles d'association peuvent nous aider à comprendre la probabilité que certains éléments apparaissent ensemble, ou la probabilité qu'un élément apparaisse lorsqu'un autre élément apparaît.

Vous pouvez utiliser la fonction association_rules de la bibliothèque mlxtend pour extraire des règles d'association en Python. Voici un exemple de code simple :

from mlxtend.frequent_patterns import association_rules, apriori

data = [['牛奶', '面包', '啤酒'],
        ['奶酪', '面包', '黄油'],
        ['牛奶', '面包', '黄油', '鸡蛋'],
        ['奶酪', '黄油', '鸡蛋'],
        ['面包', '啤酒']]

# 使用apriori算法挖掘频繁项集
frequent_itemsets = apriori(data, min_support=0.6)

# 使用association_rules函数提取关联规则
rules = association_rules(frequent_itemsets, metric="confidence", min_threshold=0.8)

# 输出关联规则
print(rules)

Dans le code ci-dessus, nous utilisons d'abord l'algorithme Apriori pour trouver les ensembles d'éléments fréquents dans l'ensemble de données. Utilisez ensuite la fonction association_rules pour extraire les règles d'association. Le premier paramètre de la fonction est l'ensemble d'éléments fréquents, le deuxième paramètre est l'indicateur d'évaluation des règles d'association, sélectionnez ici la confiance (confidence), et le troisième paramètre est le seuil de confiance minimum, fixé ici à 0,8.

Dans le résultat, nous pouvons voir que l'algorithme a trouvé une règle d'association avec un niveau de confiance de 1,0 : 'Pain' => 'Bière'. Cela signifie que 100 % des personnes qui ont acheté du pain ont également acheté de la bière. Cette règle d'association peut être utilisée dans les systèmes de recommandation pour recommander des produits aux utilisateurs.

  1. Algorithme FP-Growth

L'algorithme FP-Growth est un autre algorithme classique dans le domaine de l'exploration de règles d'association. Il est plus rapide que l'algorithme Apriori et peut gérer des ensembles de données à grande échelle.

La bibliothèque pyfpgrowth peut être utilisée en Python pour implémenter l'algorithme FP-Growth. Voici un exemple de code simple :

import pyfpgrowth

# 构建数据集
data = [['牛奶', '面包', '啤酒'],
        ['奶酪', '面包', '黄油'],
        ['牛奶', '面包', '黄油', '鸡蛋'],
        ['奶酪', '黄油', '鸡蛋'],
        ['面包', '啤酒']]

# 使用FP-Growth算法挖掘频繁项集
patterns = pyfpgrowth.find_frequent_patterns(data, 2)

# 使用FP-Growth算法提取关联规则
rules = pyfpgrowth.generate_association_rules(patterns, 0.8)

# 输出频繁项集和关联规则
print(patterns)
print(rules)

Dans le code ci-dessus, nous définissons d'abord un ensemble de données, puis utilisons la fonction find_frequent_patterns dans la bibliothèque pyfpgrowth pour extraire des ensembles d'éléments fréquents. Le premier paramètre de la fonction est l'ensemble de données et le deuxième paramètre est le seuil de support. Ici, nous fixons le seuil de support à 2, ce qui signifie que chaque ensemble d'articles doit apparaître dans au moins deux paniers. La fonction renverra un dictionnaire contenant tous les ensembles d'éléments fréquents et leur nombre de supports.

Utilisez ensuite la fonction generate_association_rules dans la bibliothèque pyfpgrowth pour extraire les règles d'association. Le premier paramètre de la fonction est un dictionnaire d'ensembles d'éléments fréquents et le deuxième paramètre est le seuil de confiance. Ici, nous fixons le seuil de confiance à 0,8.

Dans le résultat, nous pouvons voir que l'algorithme a trouvé deux ensembles d'éléments fréquents : ('pain',) et ('pain', 'lait'). Dans le même temps, l'algorithme a extrait une règle d'association avec un niveau de confiance de 1,0 : ('pain',) => ('beer',). Cela signifie que 100 % des personnes qui achètent du pain achèteront de la bière. En plus de cela, vous pouvez également voir d’autres règles d’association avec des niveaux de confiance supérieurs à 0,8.

Résumé

L'exploration de règles d'association est une technique d'exploration de données très utile qui peut être utilisée pour découvrir les relations entre différents éléments d'un ensemble de données et l'impact de ces relations sur d'autres choses. Python fournit diverses méthodes pour implémenter l'exploration de règles d'association, notamment l'algorithme Apriori et l'algorithme FP-Growth. Dans l'implémentation spécifique, vous devez également prêter attention aux paramètres de seuil des ensembles d'éléments fréquents et aux règles d'association, ainsi qu'à la manière de les appliquer à des problèmes réels.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn