J'ai donc ce tableau:Opération d'exploration de données à l'aide de SQL Query (algorithme Fuzzy Apriori) - Comment puis-je coder avec SQL?
Trans_ID Name Fuzzy_Value Total_Item
100 I1 0.33333333 3
100 I2 0.33333333 3
100 I5 0.33333333 3
200 I2 0.5 2
200 I5 0.5 2
300 I2 0.5 2
300 I3 0.5 2
400 I1 0.33333333 3
400 I2 0.33333333 3
400 I4 0.33333333 3
500 I1 0.5 2
500 I3 0.5 2
600 I2 0.5 2
600 I3 0.5 2
700 I1 0.5 2
700 I3 0.5 2
800 I1 0.25 4
800 I2 0.25 4
800 I3 0.25 4
800 I5 0.25 4
900 I1 0.33333333 3
900 I2 0.33333333 3
900 I3 0.33333333 3
1000 I1 0.2 5
1000 I2 0.2 5
1000 I4 0.2 5
1000 I6 0.2 5
1000 I8 0.2 5
Et 2 Tableau blanc:
Table ITEMSET
"ITEM_SET" "Support"
Table Confidence
"ANTECEDENT" "CONSEQUENT"
Je dois trouver la valeur FUZZY pour chaque élément qui se produisent dans chaque transaction:
I1 = Sum of (Fuzzy_Value from item I1 in trans 100 until 1000 which is trans: 100,400,500,700,800,900,1000)/Total Trans
-> (.33333333+0.33333333+0.5+0.5+0.25+0.33333333+0.2)/10 = 0.244999999
I2 = Sum of (Fuzzy_Value from item I2 in trans 100 - 1000 which is trans:100,200,300,400,600,800,900,1000)/Total Trans
-> (0.33333333+0.5+0.5+0.33333333+0.5+0.25+0.33333333)/10 = 0.274999999
I3 -> 0.258333333
I4 -> 0.103333333
I5 -> 0.058333333
I6 -> 0.02
I8 -> 0.02
Pour EX: j'utilise un minimum de soutien de 10% -> 0.1
Je dois enlever I5, I6, I8 depuis sa valeur < 0.1 =>pruneau étape
puis stocker
I1=0.244999999, I2=0.274999999, I3=0.258333333,I4=0.103333333 on new table 'ITEMSET'
2 COMBINAISON
REMARQUE: cela est la première étape de base après ce besoin le plus probable d'utiliser répéter ou récursive, puisque le processus continuera jusqu'à ce qu'aucune autre combinaison possible
alors de ce qui reste, je dois trouver K + 1 itemset (qui est 2 combinaison itemset) =>rejoindre étape
{I1,I2} =Sum of (Fuzzy_Value from item I1 + I2 in trans 100 - 1000 which is trans:100,400,800,900,1000)/Total Trans
->(0.666666667+0.666666667+0.5+0.666666667+0.4)/9 = 0.29
*do the same for the rest*
{I1,I3} =(1+1+0.5+0.666666667)/9 = 0.316666667
{I1,I4} =(0.666666667+0.4)/9 = 0.106666667
{I2,I3} =(1+1+0.5+0.666666667)/9 = 0.316666667
{I2,I4} =(1+0.666666667+0.4)/9 =0.206666667
{I3,I4} =0
Ensuite, faites une autre Pruneau Étape enlever moins de 0,1 valeur qui est {I3, I4}
Store {I1,I2} = 0.29, {I1,I3} = 0.316666667, {I1,I4} =0.106666667, {I2,I3} = 0.316666667, {I2,I4} = 0.206666667 AT "ITEMSET" TABLE
3 COMBINAISON
Après cela Effectuer une autre REJOIGNEZ STEP combinant itemset qui passent la taille
{I1,I2,I3} = Sum of (Fuzzy_Value from item I1 + I2 +I3 in trans 100 - 1000 which is trans:800,900)/Total Trans
-> 0.75+1 = 0.175
**Same for the rest**
{I1,I2,I4} = 1+0.6 = 0.16
{I2,I3,I4} = 0
Effectuer une autre étape Pruneau enlever moins de 0.Une valeur qui est {I1, I3, I4}
Store {I1,I2,I3} = 0.176 AND {I1,I2,I4} = 0,16 AT "ITEMSET" TABLE
4 COMBINAISON
Moissonneuse jeu d'éléments qui passent à la taille K + 4 (4 combinaison)
{I1,I2,I3,I4} = 0
** depuis aucune transaction contenant cet article
après l'arrêt du processus car il n'y a pas de po ssibles combinaison gauche
à cette base de données de point de itemset ont:
ITEM_SET Support
{I1} 0.244999999
{I2} 0.274999999
{I3} 0.258333333
{I4} 0.103333333
{I1,I2} 0.29
{I1,I3} 0.316666667
{I1,I4} 0.106666667
{I2,I3} 0.316666667
{I2,I4} 0.206666667
{I1,I2,I3} 0.176
{I1,I2,I4} 0,16
comment puis-je le code qui en sql? merci beaucoup
* Note: vous pouvez ajouter une autre table au besoin
Vous pouvez toujours corriger la mise en forme au lieu de vous en excuser. Je commencerais par remplacer ces ' ' avec des espaces réguliers, puis en mettant en évidence toute la table et en appuyant sur le bouton 'code'. Celui qui ressemble à deux rangées de binaire. – meagar
bouton de code, thx je vais le réparer maintenant – Rico
Là, il devrait être mieux, encore une fois THX – Rico