1. Analyse de l'association
Parler de l'analyse d'association, car le nom suggère peut être lié, une manière appelée connexion est un certain nombre de connexions entre deux choses. L'exemple le plus célèbre de l'analyse de l'association est la "couche et la bière" avant une chaîne de magasins de l'ouest des États-Unis, le magasin a découvert que les hommes achèteraient de la bière après avoir acheté des couches jeudi. Il a donc une raison pour une raison, des couches et de la bière. Mais comment puis-je juger? Ensuite, voici le soutien et le crédit pour évaluer!
La prise en charge est définie comme un enregistrement des données définies dans le jeu de données. Rapport. Le divertissement ou la confiance est déterminé pour une règle de relation, telle que {couches} - & gt; {bière}, la fiabilité de cette règle est définie comme "Support {Diaper, Beer} / Support {Couches}"
Par exemple, il existe des règles x = & gt; Y, son support peut calculer le taux de transaction avec toutes les marchandises contenant toutes les entrées du XU (X et Y et Y en même temps, la probabilité de la transaction se produit). DivertissementC La définition est le rapport du volume de trading contenant toutes les entrées de Xus relativement uniquement du volume de transaction contenant X, ce qui signifie que le prestige correspondant à la probabilité de temps conditionnel lorsque X. Exploitation de règles d'association, son objectif est de démarrer automatiquement ces règles tout en calculant la qualité de ces règles.
La formule de calcul est la suivante:
La prise en charge et la réputation sont les méthodes utilisées pour quantifier si l'analyse de l'association réussit. Le but de l'analyse d'association comprend deux: détecter des biens et des règles réguliers de l'Association de découverte. Nous devons d'abord trouver des articles réguliers, puis trouver les règles de l'association en fonction de l'ensemble de fréquences. Les éléments suivants utilisent l'algorithme Apriori pour trouver des articles réguliers.
II. THÉORIE APIORI
Le processus général de l'algorithme:
Données de collecte: Utilisez n'importe quelle méthode
Préparer des données: tout type de mal fait quelque chosePeut être utilisé, car nous ne sauvegardons que des données d'analyse de la collection
: Utilisez tout algorithme de formation Utilisez l'algorithme Apriori pour trouver des entrées régulières Test d'algorithmes: Aucun processus de testUtilisation de l'algorithme: utilisé pour Explorez les ensembles de fréquences et les règles de relation associées entre les éléments
, calculez d'abord le niveau de prise en charge d'un seul élément, puis sélectionnez une fiabilité d'un élément plus élevé que notre valeur requise, telle que 0,5 ou 0,7, etc. Ajoutez ensuite le nombre d'éléments individuels, tant que la prise en charge d'une combinaison supérieure à la valeur dont nous avons besoin, ajoutez-la à notre concentration régulière.
Les règles de l'association sont ensuite créées en fonction des ensembles ordinaires sélectionnés en fonction du support calculé.
Trois. Déployer Apriori
Détermination de la première fonction auxiliaire
de l'algorithme
de nUmpy Enter *
def LoadDataset ():
Liste = [1, 3, 4], [2, 3, 5], [1, 2, 3, 5] [2, 5
Liste renvoyéeSelon le jeu de données, l'ensemble C1 a été construit et recueilli comme collection de tous les candidats à 1.
def CreateC1 (jeu de données ):
C1 = # C1 est une collection de tous les articles candidats à la taille
d'échanger des données de données:Pour les sections des transactions:
Si non [article] en C1:C1.Append ([Item])
C1.Sort ()
Retour de la carte (FROZENET, C1) # Utilisez SOWE SOWE peut utiliser l'appliquer comme une clé de
selon la Ensemble de fréquence intégré, il est choisi pour répondre à l'intégration du support que nous devons être supérieurs à notre niveau de support donné
#d représente le jeu de données, CK désigne le candidat, Minsupport représente la Le plus petit support, auto-réglage
def Scand (D, CK, MinsUppport):SSCNT = {}
Pour TID D:pour CAN.SUBSET (TID):
Si sscnt.has_key (CAN): SSCNT [peut] = 1
Autre: SSCNT [CAN] + = 1
Numitems = Float ( Retlist =
Retlist = # Stockez les éléments qui répondent aux exigences de support minimum
SupportData = {} # Chaque entrée Définissez un dictionnaire Supports
pour les clés de SCNT: # Calculer le support de toutes les faces
Support = SSCNT [KY] / NUMITEMS ifeppport & gt; = MINSUPPORT:
RETLIST.INSERT (0, KEYS)
SupportData [Touche] = SupportRetour répertoire, supportData
,
.
,
.
]
. , . . Exportation des ensembles d'articles réguliers, nous avons extrait séparément d'abord, vous avez besoin. une fonctionLa création de l'ensemble unifié et fonctionnel de deux sous-ensemble est #lk est une liste d'éléments réguliers et k indiquant des quantités individuelles dans les éléments de collecte traversant la section suivante. {1 2, 3} signifie k = 3 def Aporiorigen (LK, K): #Creatistes ck Retlist = LENLK = LEN (LK) pour I Inlk: Pour J dans la plage (I + 1, Lenlk): L1 = Liste (LK [I]) [: K-2]; L2 = liste (lk [j]) [: k-2] # Lorsque les premiers éléments K-2, les deux collections ont été combinées l1.sort (); L2.sort () Si L1 == L2: #IF Les premiers éléments K-2 sont égaux Retlist (LK [I] | LK [J]) # Syndicat Retours de paiement # Entrez simplement des ensembles de données et supportez def Apriori (Dataset, Minsupport = 0.5): C1 = CreateC1 ( Dataset) D = Carte (SET, DataSet) L1, SupportData = SCAN (D, C1, MINSUPPORT) L = [L1] K = 2 tandis que (LEN (L [K-2]) & GT; 0): CK = APORIGEN (L [K-2], K) LK, SUPK = SCAND (D, CK, MINSUPPORT) #Scan dB pour obtenir LK supportedata.update (Suppl) L.Append (LK) K + = 1 Retour à L, supportData # Payez sur le régulier Article et valeur de support de chaque section 2 canaux 2 Créer des règles à travers des ensembles ordinaires, nous pouvons recevoir les règles correspondantes, mais comment les règles spécifiques apparaissent? Fonction créée par la règle donnée ci-dessous et la note de référence principale spécifique Liste de règles ] Def Glérances (L, SupportData, Minconf = 0,7): # Support est le dictionnaire obtenu par Scand BigruLelist = pour i in = pour i in = [1, laine (L)): # seul le nombre de composants est Plus de 2 concentrations de matériau régulier, telles que {1, 2} {1, 2, 3}, no {2} {3}, etc. Pour Freqset dans L [I]: H1 = [FROZENET ([article]) Pour l'article en FreqSe] Si (I & GT; 1): CulutFromConseq (Freqset, H1, SupportData, BIGULELIST, MINCONF) Autre: Calcconf (Freqset, H1, H1, SupportData, BigruLelist, Minconf) Retour BigruLelist est défini ci-dessous une fonction pour calculer la confiance des mathématiques , des règles de dessin pour répondre à nos exigences, telles que {1}, {2}, {1} - & gt; {2} et {2} - & gt; {1} CYCICAL, c'est-à-dire la variable de Conf suivante, puis utilise ensuite la déclaration IF pour déterminer si nos demandes sont remplies. Le code suit: # Les crédits sont trouvés selon les exigences de Prestige minimal def Calcconf (Freqset, H, SupportData, BRL, MINCONF = 0,7): PREDH = #Créer la nouvelle liste à renvoyer Conf = supportData [Freqset] / supporteData [Freqset-Consq] #Calc Croyance IFE; = MINCONF: en Freqset-CatchQ, '- & GT;' Conf: ', Conf brl.a La fonction suivante est utilisée pour combiner les sous-groupes, tels que les ensembles mon élément de fréquence actuel est utilisé. {2, 3, 5}, sa fonction de création est {2}, {3}, {5}, vous devez donc combiner {2}, {3}, {5}, deux deux deux fusions, puis calculez la confiance basée sur la confiance sur la fonction CALCCONF ci-dessus. Le code suit: # Dans la section d'origine, créant des règles supplémentaires def culutfromConseq (freqset, h, prendData, brl, minconf = 0,7): m = len (H [0]) Si (Freqset) & GT; (M + 1)): # Articles supplémentaires HMP1 = Apriligen (H, M + 1) #Create HM + 1 nouveau candidat Hmp1 = Calcconf (Freqset, Hmp1, SupportData , BRL, MINCONF) Si (laine (HMP1) & GT; 1): #Need au moins deux ensembles pour fusionner RèglesFRONQ (FREQSET, HMP1, SupportData, BRL, MINCONF) 3. Vérifiez DataSet = LoadDataSet () # Télécharger les données L, supportata = APORIORI (DataSet) # #Calculer l'ensemble régulier de règles = chinterule (L, souper, minconf = 0,7) # extrait les résultats obtenus sont les suivants: L Affiche l'ensemble de fréquence qualifié et la règle indique les conditions des règles extraites;Vous pouvez également afficher le support de chaque élément, comme indiqué ci-dessous.Référence [1] "Machine d'apprentissage réelle" Chapitre 11