Ugrás a tartalomhoz

association rule learning

A Wikiszótárból, a nyitott szótárból


Főnév

association rule learning (tsz. association rule learnings)

  1. (informatika) Association Rule Learning – magyarul: asszociációs szabálytanulás – egy gépi tanulási technika, amelyet elsősorban adatbányászatban használnak rejtett minták, összefüggések, szabályszerűségek feltárására nagy adathalmazokban. Az egyik legismertebb alkalmazása a kosár-elemzés („market basket analysis”), ahol a cél megmondani: ha valaki vesz A-t, akkor gyakran vesz B-t is.



🧠 1. Alapötlet

Az algoritmus feltételes szabályokat keres, amelyek az adathalmazban gyakran előfordulnak, például:

IF {kenyér, vaj} THEN {tej}

Ez azt jelenti: ha egy vásárlás tartalmaz kenyeret és vajat, akkor gyakran tartalmaz tejet is.



📦 2. Alapfogalmak

Tétel (item):

Egy elem (pl. „tej”, „cukor”)

Tranzakció:

Egy halmaz (pl. egy kosár tartalma: {kenyér, vaj, tej})

Asszociációs szabály:

Formája:

ahol és diszjunkt itemhalmazok



📊 3. Mértékek az értékeléshez

1. Support (támogatottság):

A szabály mennyire gyakori az adathalmazban:

2. Confidence (bizalom):

A szabály megbízhatósága: ha A teljesül, B is milyen gyakran:

3. Lift (emelés):

Megmutatja, hogy A jelenléte mennyivel növeli B esélyét:



🔍 4. Algoritmusok

A. Apriori

  • Lépésenként növeli az itemhalmazok méretét
  • Csak azokat az itemhalmazokat bővíti, amelyek támogatottsága meghaladja a küszöböt
  • Hatékony, de memóriaigényes

B. FP-Growth

  • Gyorsabb, fa-alapú algoritmus (frequent pattern tree)
  • Nem generál minden lehetséges kombinációt külön

C. Eclat

  • Függvényhalmaz-alapú, hatékony kisebb adatokra



🛍️ 5. Példa: Kosárelemzés

Tranzakciók:

ID Vásárlás
1 {kenyér, vaj, tej}
2 {kenyér, vaj}
3 {kenyér, tej}
4 {vaj, tej}
5 {kenyér, vaj, tej, tojás}

Lehetséges szabály:

{kenyér, vaj} ⇒ {tej}
support = 3/5
confidence = 3/3 = 100%
lift = confidence / support(tejet tartalmazó tranzakciók) = 1.0 / 0.8 = 1.25

🛠️ 6. Python példa (mlxtend)

from mlxtend.frequent_patterns import apriori, association_rules
from mlxtend.preprocessing import TransactionEncoder

transactions = [
    ['kenyér', 'vaj', 'tej'],
    ['kenyér', 'vaj'],
    ['kenyér', 'tej'],
    ['vaj', 'tej'],
    ['kenyér', 'vaj', 'tej', 'tojás']
]

te = TransactionEncoder()
te_ary = te.fit(transactions).transform(transactions)
df = pd.DataFrame(te_ary, columns=te.columns_)

frequent_itemsets = apriori(df, min_support=0.6, use_colnames=True)
rules = association_rules(frequent_itemsets, metric="confidence", min_threshold=0.8)
print(rules)

🧾 7. Összefoglalás

A association rule learning:

  • Egy hatékony módszer a rejtett minták és kapcsolatok felfedezésére nagy adathalmazokban
  • Tipikus alkalmazási területei:
    • 🛒 Vásárlási mintázatok (market basket)
    • 💳 Csalásdetekció
    • 📚 Ajánlórendszerek
    • 🧬 Biológiai adatok elemzése
  • Kulcsmutatói: support, confidence, lift
  • Fő algoritmusai: Apriori, FP-Growth, Eclat