Skip to main content

1. DÉTERMINATION

Support: Support: Support (A = & GT; B) = P (A∪b), indiquant la probabilité apparaît simultanément en même temps.
Foi: confiance: confiance (A = & GT; B) = prise en charge (A∪b) / support (A), indiquant le rapport probadiper de A et B est la probabilité d'occurrence.
Ensemble régulier d'éléments: les collections se produisent souvent et répondent au seuil de support minimal de la concentration en matériau, tels que {lait, pain}, {téléphones mobiles, coquillages de téléphone portable dynamique}, etc.
Règles de liaison de qualité: inclut des règles de support minimum et minimum de cette année

Deuxièmement, l'algorithme


1. Calculez tous les 1 séries des enregistrements et calculez régulièrement 1 ensemble et support.

2. Créer des candidats k sont placés avec un ensemble régulier de régularisations et calculent des éléments K régulièrement définis par le candidat K.

. 3. Créez toutes les règles de l'association avec l'association Tho K, calculant la confiance des règles créées et projection de règles HIL'assemblée répond au moins.
Le troisième principe, Apriori

Tous les jeux d'air sans air doivent être réguliers. C'est-à-dire lors de la création d'éléments K, si les éléments du candidat ne sont pas dans le K-1, l'élément irrégulier est placé, cette fois n'a pas besoin de calculer le support, retirez-le directement.

Par exemple: nous avons une collection de 0, 1, 2 et 3, la combinaison de tous les éléments:


]

de 1 défini pour calculer la prise en charge de K ensembles K, dans le candidat 2-SET défini lorsque nous calculons la collection {0, 1} irrégulièrement, puis Ce n'est pas régulièrement, il est 2 ensembles {0, 1, 2} et {0, 1, 3} irrégulier et leur sous-ensemble {0, 1, 2, 3} équivalent à irrégulièrement, nous n'avons pas besoin de calculer le soutien des ministères inhabituels .


Lorsque tous les besoins réguliers doivent régulièrement, toutes les règles connexes sont nécessaires, en supposant que les feuillesC est régulièrement placé {0, 1, 2, 3}, l'image ci-dessous montre que toutes les règles de l'association sont créées et avec une faible fiabilité de la partie ombragée, leur sous-ensemble a également un message faible fiabilité.
Déploiement de mercredite, Python
Certains Python ont effectué l'algorithme Aporiori Python de code Aporiori et l'autre type est un peu mauvais de compréhension, donc ce sera simple et simple.
1. Dataset
L'utilisation d'une liste représente plusieurs enregistrements de transaction, chaque enregistrement de transaction utilise également un ensemble de représentation de liste.

01 Data = [1, 3, 4], [2, 3, 5], [1, 2, 3, 5], [2, 5]


2. Créez un ensemble de candidats original

Ici, la collection de non-FROZANSET pour le prochain dictionnaire de support de calcul pour créer une collection comme clé.

01 DEF ARIORI (data_set):

02 # 选 1 项

03 C1 = SET ()

04 pour les éléments de données_SET:

05 msC dans l'élément:
06 item_set = gelenset ([élément])
07 c1.Ajouter (item_set)
3. Sélectionnez des articles réguliers à partir des tablettes de candidats (

Nous devons calculer l'élément de fréquence KK est placé à partir du jeu de candidats d'origine, de sorte que la fonction de package est remplie ici. Utilisé pour calculer l'ensemble d'éléments et un support régulier à chaque fois, lorsque chaque élément de La collection est placée dans le compte est un compte et enregistré dans le dictionnaire, configurant et soutenant la fréquence de sortie après le calcul du support de support.


01 defetate_freq_supports (data_set, item_set, min_support):

02 FREQ_SET = SET () # Enregistrer les éléments d'élément régulier

03Item_count = {} # Enregistrez la fréquence d'élément, utilisé pour calculer la prise en charge

04 Support = {} # Enregistrer le support


06 # Si l'élément est axé sur la concentration de données de comptage
07 pour écrire des données dans data_set:
08 pour l'élément de l'élément_set:
Si item.Sisubset (enregistré):
10 Si l'élément ne fonctionne pas:
12 Autre:

13 Item_Count [Item] + = 1

14

15 Data_len = Float (len (data_set))

16

17 # Soutenir le réglage du calcul
18 pour l'élément dans l'élément_Count:
19 Si (item_Count [élément] / data_len) & gt; = min_support:
20 freq_set.add (élément)
21 Support [Item] = Item_Count [Item] / datai_len

22

23 Retour FREQ_SET, support

4. Créez une nouvelle combinaison


a été créée par le cluster de candidat d'origine {1, 2, 3, 5} des ensembles réguliers d'articles ordinaires, Suivi de créer un nouveau candidat pour CK.

01 def générate_new_ combiné (freq_set, k):

02 NEW_COMBINATIONS = SET () # Enregistrer la nouvelle combinaison

03 SET_LEN = Laine (FREQ_SET) # Collection contient le numéro d'éléments, utilisés pour combiner la traverse

04 freq_SET_LIST = LISTE (FREQ_SET) # 集集 合 合


06 pour i in Ingneng (sets_len):

07 pour J VI (i + 1 , Sets_len):

09 l1 = Liste (freq_set_list [i])


09 L2 = liste (freq_set_list [j]

10 l1. Trier ()


12

13 # 项 Si vous avez le même parent, la colonne est réglée

14 si L1 [0: K -2] == L2 [0: K -2]:

15 FREQ_ITEM = FREQ_SET_LIST [I] | FREQ_SET_LIST [J] [J] [J]

16 NEW_COMBINATIONS.ADD (

18 RETOUR NEW_COMBINATION
,
]
5. Ensemble de fréquence de génération Candidats
01 def Apriori (data_set, min_support, max_len = Aucune):
02 MAX_ITEMS = 2 # Numéro Element Elément Défini
03 FREQ_SETS = # Enregistrer tous les ensembles ordinaires
04 Support = {} # enregistré tout support
05
06 # 1 élément
07 C1 = Set ()

08 Pour les éléments de Data_set:

09 Pour les éléments de sections:

10 Item_set = FROUZANSET Item]

11 C1.Ajouté (item_set)

12

13 # Termes réguliers 1 et son support

14 L1, Support1 = générate_freq_supports (data_set, c1, min_support)


]

16 FREQ_SETS.AppEND (L1)

17 Support.Update (Support1)


18

19 Si max_len n'est pas disponible:


20 max_len = float ('Inf')
21
22 tandis que max_items et max_Items & lt; = MAX_LEN:
23 CI = Generate_New_Combannations (Freq_sets [-1], max_items) # Créer des candidats
24 li, support = générate_freq_supports (data_set, ci, min_support) # Créer un élément de jeu régulier et Prend en charge
26 # S'il y a un ensemble de fréquences, entrez la boucle suivante
27 Si LI:
28 FREQ_SETS.AppEND (LI)
Support.UPDate (support)

30 max_items + = 1
31 Autre:

32 max_items = 0

34 Retour FREQ_SETS, support


,
] 6. Créer des règles de l'association 01 DEF Association_rules (freq_sets, support, min_conf): 02 règles = . , ] 03 max_len = laine (FREQ_SETS) , 05 # Créer une règle relationnelle, le calcul du signal de filtre est défini sur la réponse en fréquence aux règles, répondez aux règles de l'Association du crédit minimum à ajouter à la liste 06 pour k dans la plage (max_len-1 ): 07 pour freq_sets dans freq_sets [k]: 08 pour SUB_SET dans FREQ_SETS [K + 1]: 09 Si freq_set.issubset (Sub_set): 10 Conf = support [SUB_SET] / Support [FREQ_SET] 11 Rules = (FREQ_SET, SUBSTRÈME - FREQ_SET, UPT) 12 Si Conf & GT; = MIN_CONF: 13 Règles.Appendez (spécifié) 7. Programme principal 01 Si __name__ == '__Main__': 02 Data = [1, 3], [2, 3, 5], [1, 2, 3, [1, 2, 3, [1, 2, 3, 5], [2, 5] 03 04 L, support_data = APRORI (données, min_support = 0.5) 05 Association_RULES = Association_RULES (L , Support_data, min_conf = 0,7) 5, déployer MLXTEND MLXTEND est une bibliothèque Python pour les données de tâches scientifiques diaboliques quotidiennes. Cette bibliothèque est l'un des résultats de la recherche fournis par Google et la bibliothèque découverte par le module régulier de bibliothèque_patterns afin de reconnaître les règles des règles d'exploitation d'algorithme et d'APIORI. Si vous êtes intéressé, vous pouvez Recherchez des documents associés, bien sûr, ce que vous faites, l'idée de l'algorithme entier est plus claire. La mise en œuvre est la suivante: 01 Entrez le panda comme PD 02 de mlxtend.proprocessing Entrez la transaction 03 de mxtend.frequent_patternS Entrez Apriori de mlxtend .frequent_patterns Importation association_roules 06 Data = [1, 3, 5], [2, 3, 5], [2, 3, 5], [2, 3, 5], [2, 3, 5], [2, 3, 5], [1, 2, 3, 5], [2, 5] 07 08 Te = AdvannationNecoder () 09 Te_ary = Te.fit (données) .Transform (données) 10 df = pd.dataframe (Te_ary, colonne = Te.Columns_) 11 régulier_itemsets = Apriori (df, min_support = 0.5, user_lamnames = true) [vrai) [vrai) [TRUE) 12 = Association_rules (Régulier_Itemsets, Min_threshold = 0,7) Transaction la convertissant au format de données correct, il utilise plus tard la fonction Apriori pour créer un ensemble d'éléments régulier, la dernière utilisation association_rules crée une corrélation spécifiée. Peut voir que les données cryptées sont en réalité la matrice de fonctionnalité et chaque colonne correspondant à la section TU Définir le groupe. DF Régulier_itemsets Règle

Sujets