association rule learning
Megjelenés
Főnév
association rule learning (tsz. association rule learnings)
- (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
- association rule learning - Szótár.net (en-hu)
- association rule learning - Sztaki (en-hu)
- association rule learning - Merriam–Webster
- association rule learning - Cambridge
- association rule learning - WordNet
- association rule learning - Яндекс (en-ru)
- association rule learning - Google (en-hu)
- association rule learning - Wikidata
- association rule learning - Wikipédia (angol)