2010-01-05 8 views
3

Quelles sont les valeurs appropriées pour les valeurs minimales de confiance et de support minimum pour le Apriori algorithm? Comment pourriez-vous les modifier? Sont-ils des valeurs fixes, ou changent-ils pendant l'exécution de l'algorithme? Si vous avez déjà utilisé cet algorithme, quelles valeurs avez-vous utilisé?Niveau de confiance minimum et support minimum pour Apriori

+0

Je ne pense pas que ce soit responsable sans plus d'informations sur votre domaine de problème. Le but de ces paramètres est d'élaguer l'espace de recherche, il y aura donc un compromis entre l'efficacité et la qualité des résultats. Il n'y a pas un seul ensemble de valeurs qui soit sensé pour tous les domaines problématiques. –

Répondre

7

Je suggère de commencer avec les valeurs 0,05 pour le soutien et 0,80 pour la confiance. Mais je suis d'accord que vous devriez comprendre ce qu'ils représentent exactement afin de pouvoir les définir de façon appropriée. Pour une règle A => B (où A, B ensembles non vides)

Support (A ⇒ B): s = P(A, B) 
Confidence (A ⇒ B): c = P(B | A) 
Lift (A ⇒ B): L = c/P(B) 

Lift est important d'évaluer la interestingness d'une règle (parce que vous venez habituellement avec des centaines d'entre eux). Plus de vingt mesures d'intérêt ont été proposées. Ceux-ci comprennent le coefficient,, le kappa, l'information mutuelle, la mesure J et l'indice de Gini. Personnellement, je commande mes règles en fonction de la J-mesure.

J.measure (A ⇒B): J = s/c * (c*log(L) + (1-c)*log((L-c)/L)) 
2

Vous devez définir les valeurs minsup et minconf avant d'exécuter l'algorithme et elles ne changent pas pendant le processus d'exploration.

Le choix des paramètres minsup dépend de vos données.

Pour certaines données, j'utilise 80%. Pour d'autres données, j'utilise 0,05%. Tout dépend de l'ensemble de données. Habituellement, je commence avec une valeur élevée, puis je diminue les valeurs jusqu'à ce que je trouve une valeur qui générera suffisamment de paterns. Pour la confiance, c'est un peu plus facile car il représente la confiance que vous voulez dans les règles. Donc habituellement, j'utilise quelque chose comme 60%. Mais cela dépend aussi des données. En outre, si vous ne souhaitez pas utiliser les paramètres minsup, vous pouvez utiliser un algorithme d'exploration top-k. Dans ce cas, vous spécifierez k = 1000 par exemple et l'algorithme découvrira 1000 règles par exemple au lieu d'utiliser minsup. J'ai conçu un tel algorithme pour l'extraction de règles d'association. Il s'appelle TopKRules et vous téléchargez le source code. L'article le décrivant sera bientôt publié. Il utilise seulement deux paramètres: k et minconf.