Üzleti Analitika / Data Science — Vizsga felkészítő

Üzleti Analitika / Data Science — Vizsga felkészítő

Vizsga: 2026.05.14 Forrás: fő PDF 55-124. oldal + 5 előadás (04.08, 04.22, 04.29, 05.06, 05.08) + 4 házi feladat + RapidMiner / Altair AI Studio workflow-k.


Tartalomjegyzék

  1. Áttekintés — Data Science blokk és CRISP-DM
  2. Adatelőkészítés
  3. Változókapcsolatok
  4. Pivot táblák / Kereszttáblák
  5. Regresszió
  6. Klasszifikáció
  7. Szegmentáció
  8. Modellek kiértékelése
  9. Cheat sheet — minden képlet egy helyen
  10. Házi feladatok lépésről lépésre
  11. Tipikus vizsgakérdések + válaszok

1. Áttekintés

Data Science blokk tematikája (5 előadás)

# Dátum Téma Mintaadat
1 04.08 Bevezetés, adatelőkészítés Vehicles.csv, WineKMC.xlsx
2 04.22 Regresszió AmesHousingReduced.csv, AutomobileData.csv
3 04.29 Klasszifikáció BankMarketing.csv, ChurnModelingFinal.csv
4 05.06 Szegmentáció LastFMUsage.csv
5 05.08 Modellek kiértékelése, összefoglaló

CRISP-DM (Cross Industry Standard Process for Data Mining)

6 fázisú, iteratív módszertan adatelemzési projektekhez:

  1. Üzleti célok megértése (Business Understanding) — mit akarunk megtudni / előrejelezni
  2. Adatok megismerése (Data Understanding) — leíró statisztikák, vizualizáció, adatminőség-vizsgálat
  3. Adatok előkészítése (Data Preparation) — a projekt 60-80%-a! Adattisztítás, transzformáció, feature engineering
  4. Modellezés (Modeling) — regresszió / klasszifikáció / szegmentáció modellek tanítása
  5. Értékelés (Evaluation) — modellek teljesítményének mérése, üzleti relevancia ellenőrzése
  6. Fejlesztés / Üzembe helyezés (Deployment) — a modell éles használatba állítása

A fázisok között oda-vissza visszalépés gyakori.

Üzleti analitika típusai (érettség szerint)

Típus Kérdés Példa
Leíró Mi történt? Riportok, dashboardok
Diagnosztikai Miért történt? Trendelemzés, ok-okozati feltárás
Prediktív Mi fog történni? Regresszió, klasszifikáció
Előíró (preskriptív) Mit kell tenni? Optimalizálás, szimuláció
Kognitív Hogyan alkalmazkodjunk? Önálló / félig önálló döntéshozó AI

Szerepkörök

  • Business Analyst — üzleti igények és KPI-k
  • Data Analyst — riportok, vizualizáció
  • Data Scientist — modellezés, ML
  • ML Engineer — modellek éles bevezetése
  • Data Engineer — adatcsövek, ETL

2. Adatelőkészítés

A modellezéshez vagy a megfelelő következtetések levonásához tiszta, előkészített adat kell. Az elemzési projekt idejének 60-80%-a megy ide.

2.1 Adatminőségi kritériumok (Data Quality)

A jó adat egyszerre rendelkezik ezekkel a tulajdonságokkal (bármelyik kiemelt jelentőségű lehet):

  • Elérhetőség (availability) / hozzáférhetőség (accessibility)
  • Pontosság (accuracy)
  • Időszerűség (timeliness)
  • Érvényesség (validity)
  • Teljesség (completeness) — kevés / nincs hiányzó érték
  • Egyediség (uniqueness) — nincsenek duplikátumok
  • Relevancia (relevance) / hasznosság (usefulness)
  • Összehasonlíthatóság (comparability)
  • Egyöntetűség (uniformity) — egyforma mértékegység, formátum
  • Hitelesség (credibility)
  • Következetesség (consistency) / egyértelműség (clarity)

GIGO elv (Garbage In, Garbage Out): rossz adatból csak rossz modell jöhet ki.

2.2 Az adatelőkészítés lépései (CRISP-DM 3. fázis)

  1. Adatok kiválasztása (Select Data)
  2. Adatok megtisztítása (Clean Data)
  3. Változó transzformáció, új változók (Construct Data, Feature Engineering)
  4. Adatok integrálása (Integrate Data) — több táblából
  5. Adatok formázása (Format Data)

Változónkénti lépések: 1. Felesleges adatok kiszűrése 2. Változók típusainak, mérési szintjének ellenőrzése 3. Outlierek és hiányzó értékek kezelése 4. Kategoriális változók ellenőrzése, dummyzás 5. Változók transzformálása (normalizálás / standardizálás) 6. Új változók létrehozása (származtatás, integrálás)

2.3 Mintavételezés

Akkor mintavételezünk, ha: - Költségek túl magasak - Populáció dinamikus - Populáció mérete túl nagy

Mintavételi egységek: - Elsődleges: amire a felvétel közvetlenül irányul (pl. bankok) - Végső: amire a következtetést akarjuk levonni (pl. ügyfelek)

Fajták: | Típus | Leírás | |——-|——–| | Egyszerű véletlen (EVM) | Minden elem azonos valószínűséggel | | Rétegzett — arányos | Rétegek populációs aránya szerint | | Rétegzett — nem arányos | Eltérő réteg-súlyok (kontrollcsoport stb.) |

Mintanagyság ökölszabályai: - Legkisebb részsokaság ≥ 30 elem - Kereszttáblánál minden cellában ≥ 5 elem

Hibatípusok: - Mintavételi hiba — abból, hogy csak részből következtetünk; matematikailag mérhető, csökken a mintaméret növelésével - Nem mintavételi hibák (nem tervezhetők): - Szelekciós (fedési) torzítás — nem mindenki kerül a mintába - Definíciós hiba — rossz változóképzés - Mérési / téves adatközlési hiba — outlierek, hibás adat - Nem válaszolási hiba — missing value - Feldolgozási hiba — pl. táblák rossz összekapcsolása

2.4 Adattisztítás (Data Cleaning)

2.4.1 Duplikátumok

  • Pontosan megegyező sorok keresése, döntés: hiba-e vagy normális
  • Helyes táblában van kulcsváltozó (sorszám, id), ami egyedi
  • Altair: REMOVE DUPLICATES

2.4.2 Hiányzó értékek (Missing Values)

Típusok: - MCAR (Missing Completely At Random) — véletlenszerűen hiányoznak - MAR (Missing At Random) — megfigyelt változótól függően - MNAR (Missing Not At Random) — a hiányzó értéktől függően

Kezelés: 1. Változó elhagyása — ha kevés a töltöttség (<20-30%) 2. Sor (list-wise) elhagyás — csak MCAR esetén; csökkenti az adatok méretét 3. Átlag / medián / módusz imputálás — leggyakoribb (numerikus / kategoriális) 4. Hasonló érték (csoport átlag) — pl. nem és korcsoport szerint 5. Modell alapú — kNN, regresszió, predikció 6. Speciális érték — pl. -1 vagy “MISSING”

Altair: REPLACE MISSING VALUES, REPLACE ALL MISSING, IMPUTE MISSING VALUES.

2.4.3 Outlierek (Kiugró értékek)

Típusok: - Egyváltozós — egy dimenzióban - Többváltozós — több dimenzió kombinációjában

Okok: beviteli / mérési hiba, tudatos torzítás, természetes eltérés. Hatás: variancia ↑, normalitás ↓, statisztikai próbák gyengülnek, becslés torzul.

Kezelés: 1. Törlés (ha kevés és egyértelmű hiba) 2. Transzformáció: - ln(x) — jobbra ferde eloszlásra - √x — 0 értékekkel is működik - ∛x — 0 és negatív értékre is - — balra ferde eloszlásra 3. Imputálás (átlag, medián) 4. Heurisztikus levágás (pl. 99. percentilis felett kapja a 99. percentilis értékét) 5. Külön kezelés, ha sok van

Altair: DETECT OUTLIERS (DISTANCES / DENSITIES / LOF).

2.5 Adatmanipuláció (Data Transformation)

2.5.1 Kategoriális változók

  • Újrakategorizálás — célfüggvénnyel együtt
  • Dummy változó — bináris (0/1) oszlopok minden értékre (Altair: NOMINAL TO NUMERICAL, ONE-HOT ENCODING)
  • Ritka értékek összevonása — kevés előfordulású kategóriák → “RARE” (Altair: REPLACE RARE VALUES)
  • Ordinális kategorizálás — sorrend megtartása (alacsony < közepes < magas)

2.5.2 Folytonos változók

  • Binelés (csoportosítás) — pl. életkor → korcsoport
  • Normalizálás (Min-Max): \[x' = \frac{x - \min}{\max - \min} \in [0, 1]\] Min-Max érzékeny az outlierekre.
  • Standardizálás (z-score): \[z = \frac{x - \bar{x}}{s}\] Akkor használjuk, ha az átlagot és szórást ismerjük, de a korlátokat nem. Hány szórásnyi távolságra van az átlagtól.
  • Logaritmus transzformáció — jobbra ferde eloszlás (x > 0)

Altair: NORMALIZE (Min-Max vagy Z-Transformation), DE-NORMALIZE (visszatranszformálás).

2.5.3 Feature engineering

Új változó megbontásból (pl. dátum → év / hónap / nap), kombinálásból (pl. ár × mennyiség = bevétel) vagy aggregálásból. Altair: GENERATE ATTRIBUTES.

2.6 Altair AI Studio operátorok — összefoglaló táblázat

Operátor Funkció
RETRIEVE Adatok beolvasása repositoryból
READ CSV / READ EXCEL Külső fájl beolvasása
SELECT ATTRIBUTES Oszlopok kiválasztása / elhagyása
RENAME Oszlopok átnevezése
SET ROLE Célváltozó / id beállítása
REMOVE DUPLICATES Duplikátumok eltávolítása
REPLACE MISSING VALUES Hiányzó értékek kitöltése
IMPUTE MISSING VALUES Modell alapú imputálás
DETECT OUTLIERS Outlier detekció (LOF, Density, Distance)
NORMALIZE Min-Max vagy Z-transzformáció
GENERATE ATTRIBUTES Új változók képlettel
REPLACE RARE VALUES Ritka kategória “RARE”-re
NOMINAL TO NUMERICAL / ONE-HOT Dummy kódolás
JOIN Táblák kapcsolása
PIVOT Pivot tábla készítés
SORT Rendezés
FILTER EXAMPLES Sorok szűrése
SPLIT DATA Tanító / teszt felosztás
WRITE CSV CSV export

3. Változókapcsolatok

A változók közötti kapcsolat típusa a változók mérési szintjétől függ:

X típus Y típus Vizsgálati eszköz Mutatószám
kategoriális kategoriális kontingencia tábla, asszociáció χ² próba, Cramér’s V, Goodman-Kruskal λ
kategoriális numerikus csoportátlag-vizsgálat (vegyes kapcsolat) H-mutató, H²
numerikus numerikus korrelációs elemzés Pearson r, R² (determinációs együttható)

Kapcsolat fajtái: - Függvényszerű (determinisztikus) — Y egyértelműen meghatározott X-ből - Sztochasztikus — közelítő kapcsolat, “tendencia” - Függetlenség — Y nem függ X-től

3.1 Asszociáció — két kategoriális változó

Kontingencia tábla (kereszttábla) készítése.

Khi-négyzet (χ²) próba — H₀: a változók függetlenek

\[\chi^2 = \sum_{i=1}^{n} \sum_{j=1}^{m} \frac{(f_{ij} - F_{ij})^2}{F_{ij}}\]

ahol: - \(f_{ij}\) = megfigyelt gyakoriság - \(F_{ij} = \frac{f_{i\cdot} \cdot f_{\cdot j}}{N}\) = elméleti (várt, ha függetlenek volnának) gyakoriság

Szabadságfok: \(df = (sorok - 1) \cdot (oszlopok - 1)\)

Döntés: ha \(p < 0,05\) (vagy \(\chi^2 > \chi^2_{krit}\)) → szignifikáns kapcsolat (H₀-t elvetjük).

Goodman-Kruskal λ (PRE-elv = Proportional Reduction of Error): \[\lambda_{Y|X} = \frac{E_1 - E_2}{E_1}\] - \(E_1\): hiba Y becslésében X ismerete nélkül (móduszra tippelünk) - \(E_2\): hiba Y becslésében X ismeretében (X-csoportonkénti móduszra tippelünk)

3.2 Vegyes kapcsolat — kategoriális × numerikus változó

Azt nézzük, hogy a numerikus változó szóródásának hány %-át magyarázza a csoportosítás.

Variancia-felbontás: \[\sigma^2 = \sigma_B^2 + \sigma_K^2 \quad \text{és} \quad SS_T = SS_B + SS_K\]

Komponens Jelentés Képlet
Teljes (\(\sigma^2\)) Teljes variancia \(\frac{\sum_j \sum_i (x_{ij} - \bar{x})^2}{N}\)
Belső (\(\sigma_B^2\)) Csoporton belüli \(\frac{\sum_j n_j \sigma_j^2}{N}\)
Külső (\(\sigma_K^2\)) Csoportok közötti \(\frac{\sum_j n_j (\bar{x}_j - \bar{x})^2}{N}\)

H-mutató (szóráshányados): \[H^2 = \frac{\sigma_K^2}{\sigma^2} = 1 - \frac{\sigma_B^2}{\sigma^2}, \qquad H = \sqrt{H^2}\]

Értelmezés: - \(H = 0\): függetlenség (csoportátlagok egyenlők) - \(0 < H < 1\): sztochasztikus kapcsolat - \(H = 1\): determinisztikus (csoporton belüli szórás = 0)

Skála (durva tájékozódás): - \(H < 0,3\): gyenge / nincs - \(0,3 \leq H < 0,5\): gyenge-közepes - \(0,5 \leq H < 0,7\): közepes-erős - \(H \geq 0,7\): erős / nagyon erős

Példa — munkavállalók neme és keresete (a fő PDF 91-103. oldal alapján)

Nem Kereset (ezer Ft/hó)
Férfi (n=8) 120, 83, 65, 190, 230, 120, 130, 190
Nő (n=6) 70, 65, 90, 130, 120, 100
n Átlag Szórás
Férfi 8 141,00 53,46
6 95,83 23,88
Teljes 14 121,64 48,76

Számítás: \[\sigma_B^2 = \frac{8 \cdot 53{,}46^2 + 6 \cdot 23{,}88^2}{14} = 1877{,}63\] \[\sigma_K^2 = \frac{8 \cdot (141 - 121{,}64)^2 + 6 \cdot (95{,}83 - 121{,}64)^2}{14} = 499{,}60\] \[\sigma_T^2 = 1877{,}63 + 499{,}60 = 2377{,}23\] \[H^2 = \frac{499{,}60}{2377{,}23} = 0{,}21 \quad \Rightarrow \quad H = 0{,}46\]

Értelmezés: A nem 21%-ban magyarázza a kereset szóródását, gyenge-közepes kapcsolat (0,3 ≤ H < 0,5).

3.3 Korreláció — két numerikus változó

Kovariancia: \[\text{Cov}(X, Y) = \frac{\sum_{i=1}^{N} (x_i - \bar{x})(y_i - \bar{y})}{N}\]

Nem normált; pozitív érték → pozitív együttmozgás, negatív → ellenirányú.

Pearson-féle korrelációs együttható (r): \[r_{X,Y} = \frac{\text{Cov}(X, Y)}{\sigma_X \sigma_Y} = \frac{\sum (x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum (x_i - \bar{x})^2 \sum (y_i - \bar{y})^2}}\]

  • Tartomány: \(-1 \leq r \leq +1\)
  • Szimmetrikus, mértékegység-független
  • Outlierekre érzékeny

Interpretáció (kapcsolat erőssége): | |r| érték | Erősség | |————|———| | 0,9 – 1,0 | nagyon erős | | 0,7 – 0,9 | erős | | 0,5 – 0,7 | közepes | | 0,3 – 0,5 | alacsony | | < 0,3 | nincs / nagyon alacsony |

Figyelem: \(r = 0\) csak azt jelenti, hogy lineáris kapcsolat nincs — egyéb függvénykapcsolat lehet. A változók ilyenkor csak korrelálatlanok, nem feltétlenül függetlenek.

0,95+ abszolút érték gyanús: az egyik változó valószínűleg determinálja a másikat (pl. átszámítás).

Determinációs együttható (\(R^2\), \(r^2\)):

\[r^2 = \frac{SS_R}{SS_T} = 1 - \frac{SS_E}{SS_T}\]

Megmutatja: a magyarázó változó hány %-ban befolyásolja az eredményváltozó szóródását. Egyben a regressziós modell illeszkedését (magyarázó erejét) jellemzi.

Példa — sörfogyasztás (fő PDF 108. oldal)

Mennyiség (liter) 71 66 52 47 44 49 42 30 33
Ár (Ft/l) 420 428 437 454 460 465 472 490 503

\(r = -0{,}9456\), \(r^2 = 0{,}8941\) — nagyon erős negatív kapcsolat; az ár 89,4%-ban magyarázza a keresett mennyiséget.

3.4 Anscombe-kvartett

Négy adathalmaz közel azonos leíró statisztikákkal (átlag, variancia, \(r = 0{,}816\), regressziós egyenes \(y = 3 + 0{,}5x\), \(r^2 = 0{,}67\)), de teljesen eltérő eloszlással / formával. Tanulság: mindig nézz pontdiagramot, ne csak metrikákat. Az outlier akár teljesen elfedheti / kreálhatja az “összefüggést”.

3.5 Korrelációs mátrix és hőtérkép

Több változó esetén páronkénti \(r\) értékek mátrixban. Szimmetrikus (\(r_{ij} = r_{ji}\)), főátlóban 1-esek. Hőtérkép = mátrix színkódolt verziója. Jól látszanak rajta a redundáns (erősen korreláló) változópárok, amelyek közül érdemes az egyiket dobni a modellezésnél.

3.6 Vegyes kapcsolat vs. korreláció — összefoglaló

Vegyes Korreláció
X típusa kategoriális numerikus
Y típusa numerikus numerikus
Becslés csoportátlag \(\bar{y}_j\) regressziós egyenes \(\hat{y}\)
Mutató \(H^2 = 1 - \frac{SS_B}{SS_T}\) \(R^2 = 1 - \frac{SS_E}{SS_T}\)

4. Pivot táblák / Kereszttáblák

A pivot tábla (kimutatás) speciális táblázat: nagy mennyiségű adatot lehet vele gyorsan összesíteni, csoportosítani, perspektívák szerint elemezni.

4.1 Fajtái

Típus Jellemző
Soronkénti összesítés Csoportképző változók a sorokban, az összesítések az oszlopokban
Kereszttábla Sorokban és oszlopokban is csoportképző változó (2D / 3D)
Vegyes kereszttábla Több különböző összesítés (összeg, átlag, max stb.) egyszerre

4.2 Előállítási lépések (Excel)

  1. Forrásadatot táblázattá alakítani (Insert → Table)
  2. Forrásterület kijelölése (fejléccel együtt)
  3. Insert → Pivot Table
  4. Pivot tábla helyének és területének beállítása
  5. Drag & drop: változókat Rows / Columns / Values / Filters mezőkbe
  6. Values mezőben: összesítés típusa (Sum, Average, Min, Max, Count …)

4.3 Ellenőrzendők a forrásadatban

  • Az első sor minden oszlopa nevesített
  • Az oszlopcímek egyediek
  • Egy oszlopban egy adattípus és formátum
  • Nincs üres oszlop az adatterületen belül
  • “Hasonló de eltérő” értékek (pl. “Budapest” vs. “Budapest”) külön számítanak

Megjegyzés: a pivot nem case-sensitive és külön értékként kezeli a hiányzó értéket.

4.4 Példa — ATM napi készpénzfelvétel (2013-2018)

  • Soronkénti összesítés: hónaponkénti összeg, átlag, max
  • 3D kereszttábla: év × hónap × hét napja
  • Vegyes kimutatás: SUM + AVERAGE + MAX egy táblában

4.5 Banki fiók gyakorlat (fő PDF 118-122)

Adattábla változói: Branch_id, Origin, Region, OpenDate, F_InMall, Tier, ClientSpace, Desks, Staff, F_Currencies, TrnCashRes, TrnNonCashRes, TrnCashCorp, TrnNonCashCorp.

Tipikus feladatok: 1. Pultok száma → kategória (1-4, 5-6, 7-8, 9-10, 11+), gyakoriságok 2. Origin szerinti megoszlás (%) 3. Tier kategóriák népessége csökkenő sorrendben 4. Pultszám kategória vs. valutázik (F_Currencies) — asszociáció 5. Tier vs. Staff — vegyes kapcsolat 6. Desks vs. Staff — korreláció és előrejelzés (10 pultnál hány ügyintéző?) 7. Valutázó vs. nem valutázó fiók Staff-átlagai


5. Regresszió

Cél: folytonos (numerikus) célváltozó \(Y\) értékének becslése magyarázó változók \(X_1, X_2, \ldots, X_n\) alapján.

5.1 Alapfogalmak

  • Egyszerű regresszió: 1 magyarázó változó
  • Többszörös (multilineáris): ≥ 2 magyarázó változó
  • Lineáris regresszió általános formája: \[Y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \ldots + \beta_n X_n + \varepsilon\] ahol \(\beta_0\) a tengelymetszet, \(\beta_i\) a regressziós együtthatók, \(\varepsilon\) a hibatag (reziduum).
  • Interpoláció: a megfigyelt X-tartományon belül becsülünk
  • Extrapoláció: a tartományon kívül becsülünk (kockázatos!)

Üzleti alkalmazás: költségbecslés, ingatlanár, részvényhozam, marketing-ROI, eladás előrejelzés.

5.2 Lineáris regresszió feltételei

  1. Linearitás — Y és X kapcsolata lineáris (egyébként transzformáció kell)
  2. Multikollinearitás hiánya — magyarázó változók nem korrelálnak erősen egymással (VIF < 5-10)
  3. Hibatagok normalitása\(\varepsilon \sim N(0, \sigma^2)\)
  4. Homoszkedaszticitás — hibatag varianciája konstans (nem függ X-től)
  5. Hibatagok függetlensége (nincs autokorreláció) — főleg idősoros adatnál fontos
  6. Hibatag X-től független\(E[\varepsilon | X] = 0\)

5.3 Bemeneti változók kiválasztása

Módszer Jellemző
Enter Egyszerre minden változó bekerül
Forward Üres modellből kiindulva egyesével léptet be (legnagyobb javulás)
Backward Teljes modellből egyesével dobja ki (legkevésbé hasznosat)
Stepwise Mindkét irányba lépeget — gyengülő változó kikerül

Szűrési alapelvek: - Felesleges: sok hiányzó, egyértékű, erősen korreláló változók - Komplexitás vs. pontosság trade-off

5.4 Pontosság / teljesítmény metrikák (regresszió)

Metrika Képlet Jelentés
MAE (Mean Absolute Error) \(\frac{1}{n}\sum |\hat{y}_i - y_i|\) átlagos abszolút hiba
MAPE (Mean Abs. % Error) \(\frac{100\%}{n}\sum \frac{|\hat{y}_i - y_i|}{y_i}\) átlagos % hiba
MSE \(\frac{1}{n}\sum (\hat{y}_i - y_i)^2\) átlagos négyzetes hiba
RMSE \(\sqrt{MSE}\) eredeti skálán
\(1 - \frac{SS_E}{SS_T}\) modellmagyarázó erő, 0-1 között
Adjusted R² \(1 - \frac{(1-R^2)(n-1)}{n-p-1}\) bünteti a felesleges változókat
  • \(SS_E = \sum (y_i - \hat{y}_i)^2\) (reziduálisok négyzetösszege)
  • \(SS_T = \sum (y_i - \bar{y})^2\) (teljes négyzetösszeg)
  • \(n\) = mintaméret, \(p\) = magyarázó változók száma

Olvasati szabályok: - \(R^2 \approx \text{Adj.}R^2\) → modell stabilnak látszik - \(R^2 \gg \text{Adj.}R^2\) → felesleges változókat tartalmaz, túltanulás veszélye

5.5 Polinomiális regresszió

A magyarázó változókat hatványra emeljük: - Degree 2: \(y = b_0 + b_1 x_1 + b_2 x_1 x_2 + b_3 x_1^2 + b_4 x_2^2 + \ldots\) - Degree 3: \(y = c_0 + c_1 x_1 + c_2 x_1 x_2 + c_3 x_1^2 x_2 + \ldots\)

Görbe / nemlineáris kapcsolatra. Túltanulásra hajlamos magasabb fokszámnál.

5.6 Generalizált lineáris modell (GLM)

Általánosabb keret — a függő változó eloszlása nem feltétlen normál (lehet pl. Poisson, binomiális). Link-függvénnyel köti az \(E[Y]\)-t a lineáris kombinációhoz.

5.7 Alultanulás / túltanulás

Underfitting (alultanulás) Overfitting (túltanulás)
Tünet Mind tanító, mind teszt rossz Tanító jó, teszt rossz
Ok Túl egyszerű modell Túl komplex modell, kevés adat
Megoldás Több feature, polinomiális, komplexebb modell Regularizáció, kevesebb feature, több adat, korai leállítás

Bias-variance trade-off: túl egyszerű = high bias, túl komplex = high variance. Cél: jól általánosító középút.

5.8 Tanító / teszt adatbázisok

Technika Leírás
Egyszerű split pl. 70/30, 75/25 véletlen vágás
Stratified split célváltozó eloszlása megőrződik
K-fold keresztvalidáció Adat \(k\) részre osztva, körönként egyik fold a teszt, többi a tanító — mind a \(k\) becslést átlagoljuk
Leave-One-Out (LOO) k = n, csak nagyon kis adatra
Bootstrap véletlen visszatevéses minták

Altair: SPLIT DATA, CROSS VALIDATION.

Fontos: a normalizálást csak a tanító adaton kell illeszteni, és onnan kapott paramétereket alkalmazni a teszt adatra (APPLY MODEL). Különben adatszivárgás történik.

5.9 Ames Housing demó (04.22) — workflow lépések

Cél: lakásár (SalePrice) becslése 59 változóból, 2930 megfigyelés.

  1. RETRIEVE Ames Housing
  2. SELECT ATTRIBUTES — felesleges (PID, Order, Garage Area, Misc Feature) eldobása
  3. REPLACE MISSING VALUES — nominális: “NA”, numerikus: 0; Lot Frontage: átlag
  4. Outlier kezelés — 99. percentilis számolása AGGREGATE-tel, CARTESIAN PRODUCT az eredeti tábla mellé, GENERATE ATTRIBUTES-szal min(x, p99) képletű csere
  5. GENERATE ATTRIBUTES — ordinális kategóriák (Poor, Fair, … Excellent) numerikusra
  6. REPLACE RARE VALUES — ritka kategóriák összevonása
  7. ONE-HOT ENCODING — dummy oszlopok
  8. SET ROLE — SalePrice = label
  9. FILTER EXAMPLES — tanító: YR SOLD < 2009; teszt: ≥ 2009 (időbeli split, valós deployment-szerű)
  10. NORMALIZE (Z-transformation) tanító adaton, APPLY MODEL a teszt adatra
  11. LINEAR REGRESSION
  12. APPLY MODELPERFORMANCE (REGRESSION) — R², MAPE

6. Klasszifikáció

Cél: diszkrét célváltozó osztályozása (pl. churn / nem churn, vásárol / nem vásárol, spam / nem spam).

6.1 Problématípusok

Típus Példa
Bináris spam-szűrés, churn
Multi-class termékkategória, betegségtípus
Multi-label filmműfajok (egy filmhez több is tartozhat)
Imbalanced ritka esemény (csalás 0,1%)

Imbalance kezelése: oversampling (SMOTE), undersampling, súlyozott modell, küszöb módosítás.

6.2 k-NN (k-Nearest Neighbors) — lusta osztályozó

Új ponthoz megkeresi a \(k\) legközelebbi tanítópontot, és a többségi szavazat alapján sorol be (vagy átlag predikciónál).

Távolságfüggvények: - Euklideszi: \(d(x, y) = \sqrt{\sum_i (x_i - y_i)^2}\) - Manhattan (city-block): \(\sum_i |x_i - y_i|\) - Minkowski (paraméteres): \(\left(\sum_i |x_i - y_i|^q\right)^{1/q}\) - Mahalanobis — figyelembe veszi a kovarianciát

Súlyozott k-NN: közelebbi szomszéd nagyobb súllyal.

Előny: egyszerű, intuitív. Hátrány: drága predikciókor, érzékeny dimenzióátokra (curse of dimensionality), kell normalizálás.

6.3 Döntési fa (Decision Tree)

Elemei: csomópont (split), ág (kimenetel), levél (osztály).

Entrópia (Shannon)

\[H(Y) = -\sum_{x} p_x \log_2 p_x\]

  • Pénzfeldobás: \(H = 1\)
  • Igazságos kocka: \(H_{max} = \log_2 6 \approx 2{,}58\)
  • Cinkelt kocka: \(H < 2{,}58\)

Információ nyereség: \[I(Y, X) = H(Y) - H(Y|X) = H(Y) - \sum_i P(X = x_i) H(Y | X = x_i)\]

Nyereség arány: \(I(Y, X) / H(X)\) — bünteti az erősen ágazó X-eket (pl. unique id)

Gini index (CART): \[\text{Gini}(T) = 1 - \sum_j p_j^2\] Split Gini: \(\frac{N_1}{N}\text{Gini}(T_1) + \frac{N_2}{N}\text{Gini}(T_2)\) → minimalizálandó.

ID3 algoritmus

  1. A maradék magyarázó változók közül a legnagyobb információ-nyereségű lesz a gyökér
  2. Minden lehetséges X-értékhez egy ág
  3. Particionálás az X szerint
  4. Rekurzív ismétlés minden ágra

Leállási feltételek: - Csomópont összes eleme egyazon osztály - Nincs több változó - Üres tanítóhalmaz - Mélységi korlát elérve - Minimum minta méret alatti csomópont

Variánsok

  • ID3 — diszkrét, kategoriális, információ-nyereség
  • C4.5 — numerikus is, nyereség arány, post-pruning
  • CART — bináris, Gini, regresszióra is
  • CHAID — χ²-alapú split
  • QUEST — statisztikai tesztek

Fametszés

  • Előmetszés (prepruning) — early stopping (mélység limit, min sample limit)
  • Utómetszés (post-pruning / pruning) — felépített fa visszametszése validációs hibára

6.4 Logisztikus regresszió

A lineáris kombináció kimenetét sigmoid (logistic) függvénnyel alakítjuk 0-1 közötti valószínűséggé:

\[g(z) = \sigma(z) = \frac{1}{1 + e^{-z}}, \quad z = \beta_0 + \beta_1 X_1 + \ldots\]

\[P(y=1 | X) = \frac{1}{1 + e^{-(\beta_0 + \beta_1 X_1 + \ldots)}}\]

  • Odds: \(\frac{p}{1-p}\)
  • Log-odds (logit): \(\ln \frac{p}{1-p} = \beta_0 + \beta_1 X_1 + \ldots\)
  • Döntési küszöb (threshold): alapból 0,5; üzleti cél szerint állítható (pl. költségmátrix)

Standardizálás kötelező előtte (mert lineáris modell).

6.5 Metaklasszifikátorok (ensemble módszerek)

Módszer Lényege
Bagging (Bootstrap Aggregating) Több bootstrap mintából több modell, szavazás / átlagolás. Variancia csökkentés.
Random Forest Bagging + minden split-nél véletlen \(m\) változóra szűkít. Stabil, robusztus, kevés tuning.
Boosting (AdaBoost) Iteratív: minden körben a hibásan osztályozott pontok súlya nő. Bias csökkentés.
Gradient Boosted Trees (XGBoost, LightGBM, GBT) Gradiens-alapú boosting fákkal. Általában nagyon erős.
Stacking Több különböző modell predikciójára épül felül egy “meta-modell”.

6.6 Klasszifikáció teljesítmény-metrikák

Confusion matrix (tévesztési mátrix):

Predikció: pozitív Predikció: negatív
Valós: pozitív TP FN
Valós: negatív FP TN
Metrika Képlet Mit mond
Accuracy \(\frac{TP+TN}{N}\) Találati arány — torzít kiegyensúlyozatlan esetnél
Precision \(\frac{TP}{TP+FP}\) Pozitív predikcióból mennyi valóban pozitív
Recall / Sensitivity / TPR \(\frac{TP}{TP+FN}\) Valódi pozitívok hány %-a megtalálva
Specificity / TNR \(\frac{TN}{TN+FP}\) Valódi negatívok hány %-a helyesen
F1 \(\frac{2 \cdot \text{Prec} \cdot \text{Rec}}{\text{Prec} + \text{Rec}}\) Harmonikus átlag
FPR \(\frac{FP}{FP+TN} = 1 - \text{Spec}\) Hamis riasztások aránya
Cohen Kappa \(\frac{\text{Acc} - \text{Acc}_{random}}{1 - \text{Acc}_{random}}\) Véletlen feletti egyezés

ROC görbe: TPR vs. FPR a küszöb változtatásával. Ideális: bal felső sarok. AUC (Area Under Curve): ROC alatti terület. 0,5 = véletlen, 1,0 = tökéletes. Lift / Gain görbe: decilisek szerinti felül-teljesítés a véletlenhez képest.

Mikor melyiket? | Probléma | Cél | Metrika | |———-|—–|———| | Spam-szűrés | kevés hamis pozitív | Specificity ↑ / Precision ↑ | | Betegségdiagnózis | kevés hamis negatív | Recall ↑ | | Imbalanced | egyensúly | F1 / AUC | | Általános | osztálytól független | AUC |

6.7 Bank Marketing demó — workflow (04.29)

Cél: ügyfél elfogadja-e a betét-ajánlatot (y)? 45 211 megfigyelés.

  1. RETRIEVE BankMarketingSET ROLE (y = label)
  2. GENERATE ATTRIBUTES — kategóriák → 0/1
  3. ONE-HOT ENCODING — dummy
  4. SPLIT DATA — 67% train / 33% test, random seed 1
  5. NORMALIZE (z-transformation) tanítón → APPLY MODEL a tesztre
  6. LOGISTIC REGRESSION (H2O)APPLY MODEL mindkettőre
  7. PERFORMANCE (CLASSIFICATION) → confusion matrix, accuracy

Döntési fa tuning ugyanezen az adaton: - Alap: train 100%, test 82% → erős túltanulás - maximal_depth = 10: train 90,7% / test 88,8% → jobb generalizáció - minimal_size_for_split = 400: train 89,4% / test 89,1% → még jobb

OPTIMIZE PARAMETERS (GRID) — paraméterkombinációk automatikus tesztelése.


7. Szegmentáció

Cél: felügyelet nélküli (unsupervised) csoportosítás. Hasonló egyedeket egy klaszterbe, klaszterek közti maximális elkülönülésre törekedve.

Üzleti felhasználás: ügyfélszegmentáció, piaci pozícionálás, ajánlórendszer, anomália-detekció.

7.1 Klaszterezési technikák

Család Példa Jellemző
Partícionáló K-means, K-medoids, Fuzzy C-Means előre adott k, gömbölyű klaszterek
Hierarchikus Agglomeratív, divizív dendrogram, k nélkül indítható
Sűrűség-alapú DBSCAN, OPTICS tetszőleges alakú, zaj-tolerans
Rács-alapú STING, CLIQUE nagy adatra gyors
Modell-alapú Gaussian Mixture valószínűségi

7.2 K-means (Lloyd algoritmus)

  1. Inicializálás — k random pont vagy K-means++ kiválasztás
  2. Hozzárendelés — minden pontot a legközelebbi centroidhoz
  3. Centroid frissítés — klaszteren belüli átlag
  4. Konvergencia — ha centroid nem változik, stop; egyébként 2-3 ismétlés
  5. Maximum iteráció (pl. 100)

Paraméterek (Altair): k, max_runs (újrainicializálás), distance_measure, max_optimization_steps.

Előnyök: gyors, érthető. Hátrányok: outlier-érzékeny, lokális optimum, gömbölyű alakot feltételez, k előre adva.

7.3 K-medoids

K-meanstől eltérően a klaszter középpontja valós adatpont (medoid), nem átlag. Robusztusabb outlierre, de számításigényesebb (PAM, CLARA algoritmusok).

7.4 Hierarchikus klaszterezés (agglomeratív)

  1. Minden pont saját klaszter (\(n\) klaszter)
  2. Legközelebbi 2 klaszter összevonása
  3. Távolságmátrix frissítése (linkage szerint)
  4. Ismétlés, amíg 1 klaszter marad
  5. Dendrogram szerkesztése

Linkage típusok: | Típus | Definíció | Jellemző | |——-|———–|———-| | Single | min pár-távolság | láncszerű, outlier-érzékeny | | Complete | max pár-távolság | gömbölyű, kompakt | | Average | átlag pár-távolság | kompromisszum | | Ward | variancia-növekedés minimalizálása | gömbölyű, általában legjobb |

Divizív = fordítva: minden 1 klaszterből indul, fokozatosan vág.

7.5 Távolságmérőszámok

Név Képlet Mikor
Euklideszi \(\sqrt{\sum (x_i - y_i)^2}\) általános, alapértelmezett
Manhattan \(\sum |x_i - y_i|\) városi blokkok, kategoriális is
Csebisev \(\max_i |x_i - y_i|\) extrém érzékeny
Minkowski \(\left(\sum |x_i - y_i|^q\right)^{1/q}\) paraméteres
Mahalanobis korrelációt vesz figyelembe korrelált változókra
Koszinusz \(1 - \cos(\theta)\) szöveg / vektor-irány

Fontos: mielőtt távolságot számolunk, standardizálni vagy normalizálni kell! Különben a nagy értéktartományú változó dominál.

7.6 Klaszterszám-választás

Módszer Lényeg Cél
Elbow k mentén \(SS_W\) / SST görbe — keressük a “könyökpontot” Inflexió után csekély a javulás
Silhouette \(s_i = \frac{b_i - a_i}{\max(a_i, b_i)}\), átlag k mentén maximalizáljuk (közeli 1 → jó)
Davies-Bouldin index \(\frac{1}{k}\sum_i \max_{j \neq i} \frac{\sigma_i + \sigma_j}{d(c_i, c_j)}\) minimalizáljuk
Gap statistic véletlen mintával összevet maximalizáljuk
Hüvelykujj \(\sqrt{n/2}\) durva tájékozódás

ahol \(a_i\) = átlag-távolság a saját klaszteren belül, \(b_i\) = átlag-távolság a legközelebbi idegen klaszterhez.

7.7 Klaszterek validációja és értelmezése

Belső validáció: - \(SS_W = \sum_c \sum_{x \in C_c} d(x, \mu_c)^2\) — klaszteren belüli (minimalizálandó) - \(SS_B = \sum_c n_c \cdot d(\mu_c, \bar{\mu})^2\) — klaszterek közötti (maximalizálandó) - \(SS_T = SS_W + SS_B\) - Davies-Bouldin, Silhouette (lásd fent)

Külső validáció: ha vannak igazi címkék (Rand index, ARI).

Profilozás (üzleti értékelés): - Heatmap (változónkénti átlag klaszterenként) - Centroid chart (klasztermag-pozíciók) - Scatter plot a 2 legfontosabb dimenzión - Méret-eloszlás (ne legyen 95%-os szuper-klaszter) - Üzleti narratíva: lehet-e nevet adni (pl. “Premium”, “Price-sensitive”, “Inactive”)?

7.8 Last.fm demó (05.06) — workflow

Adat: 1000 felhasználó, 9 zenei műfaj × 3 felhasználási típus.

  1. RETRIEVE LastFMUsage
  2. SET ROLE — id = identifier
  3. NORMALIZE — z-transformation (kötelező!)
  4. K-MEANS — k = 9-10, max_runs = 10, EuclideanDistance
  5. CLUSTER MODEL VISUALIZER — overview, heatmap, centroid chart, scatter

Opcionális k-keresés: - LOOP PARAMETERS (k: 2..20) — beágyazva: K-MEANSCLUSTER DISTANCE PERFORMANCELOG - Outputban: k vs. \(SS_W\) vs. Davies-Bouldin görbe


8. Modellek kiértékelése

8.1 Általános szempontok

Szempont Mit nézünk
Teljesítmény metrika érték (R², F1, AUC stb.)
Generalizáció train vs. test különbség (túltanulás?)
Robusztusság véletlen seed / split változtatása mellett stabil-e
Gyorsaság tanítási és predikciós idő
Skálázhatóság nagyobb adatra is működik-e
Értelmezhetőség feature importance, SHAP, LIME
Üzleti relevancia döntésnél tényleg pénzt hoz-e (cost / profit curve)

8.2 Regressziós metrikák (összegzés)

Metrika Mértékegység Outlier érzékenység
MAE célváltozóé alacsony
MAPE % jobbra-féle (y=0 esetén robbanik)
MSE célváltozóé² magas
RMSE célváltozóé magas
dimenziótlan, [0,1] (lehet <0) közepes
Adj. R² dimenziótlan korrekció p-re

8.3 Klasszifikációs metrikák (lift / gain / RAUC)

Lift görbe (decilis-bontás): - Rendezzük az adatot a modell pozitív-valószínűsége szerint csökkenőleg. - Decilisenként számoljuk a tényleges pozitívok arányát. - Lift = (top p% pozitív aránya) / (átlagos pozitív arány). - Lift = 1 → véletlen szint.

Gain (cumulative) görbe: Y = összegzett pozitívok %-a, X = adat %-a. Diagonális = véletlen.

RAUC (Relative AUC): \[\text{RAUC} = \frac{\text{ModelAUC} - 0{,}5}{\text{BestAUC} - 0{,}5}\]

Ahol BestAUC = a sokasági pozitív arány figyelembevételével maximális AUC.

8.4 Szegmentációs kiértékelés

  • Belső: SSW, Davies-Bouldin, Silhouette
  • Stabilitás: bootstrap / véletlen újrafutás
  • Üzleti: profilozás, kommunikálhatóság, akcionálhatóság

8.5 Hiperparaméter-tuning

Módszer Lényeg
Grid Search minden kombináció (drága de teljes)
Random Search véletlen mintavétel (sokszor jobb a kontinuitásban)
Bayesian optimization előző eredményekből tanul
Halving Grid rosszul teljesítőket korán dob

Altair: OPTIMIZE PARAMETERS (GRID), OPTIMIZE PARAMETERS (QUADRATIC).

8.6 Cost matrix és profit curve

Ha hibák költsége aszimmetrikus (pl. csalás-szűrésnél hamis negatív sokba kerül, hamis pozitív csak kicsi kellemetlenség), a confusion matrix elemeit pénzben súlyozzuk, és a profit-maximális küszöböt választjuk.

Predict + Predict –
Real + TP value FN cost
Real – FP cost TN value

8.7 Explainable Machine Learning

  • Feature importance (random forest / GBT) — globális
  • SHAP (Shapley values) — egyedi predikciók magyarázata
  • LIME — lokális linearizáció
  • Partial Dependence Plot — feature hatása izoláltan

8.8 Modellek összehasonlítása (Classification_Visu_Opt.rmp)

COMPARE ROCS operátor: párhuzamosan futtat több modellt (Decision Tree, Random Forest, GBT, Logistic Regression, k-NN, Naive Bayes), és egy diagramon hasonlítja össze a ROC görbéket.


9. Cheat sheet — minden képlet egy helyen

Adatelőkészítés

\[z = \frac{x - \bar{x}}{s} \quad \text{(standardizálás)}\] \[x' = \frac{x - \min}{\max - \min} \quad \text{(Min-Max normalizálás)}\]

Asszociáció — kategoriális × kategoriális

\[\chi^2 = \sum \sum \frac{(f_{ij} - F_{ij})^2}{F_{ij}}, \quad F_{ij} = \frac{f_{i \cdot} \cdot f_{\cdot j}}{N}, \quad df = (s-1)(o-1)\] \[\lambda_{Y|X} = \frac{E_1 - E_2}{E_1}\]

Vegyes — kategoriális × numerikus

\[H^2 = \frac{\sigma_K^2}{\sigma^2} = 1 - \frac{\sigma_B^2}{\sigma^2}, \quad H = \sqrt{H^2}\] \[\sigma_B^2 = \frac{\sum_j n_j \sigma_j^2}{N}, \quad \sigma_K^2 = \frac{\sum_j n_j (\bar{x}_j - \bar{x})^2}{N}, \quad \sigma_T^2 = \sigma_B^2 + \sigma_K^2\]

Korreláció — numerikus × numerikus

\[\text{Cov}(X,Y) = \frac{\sum (x_i - \bar{x})(y_i - \bar{y})}{N}\] \[r = \frac{\text{Cov}(X,Y)}{\sigma_X \sigma_Y}, \quad -1 \leq r \leq 1\] \[r^2 = 1 - \frac{SS_E}{SS_T} = \frac{SS_R}{SS_T}\]

Regressziós metrikák

\[\text{MAE} = \frac{1}{n} \sum |y_i - \hat{y}_i|\] \[\text{MAPE} = \frac{100\%}{n} \sum \frac{|y_i - \hat{y}_i|}{y_i}\] \[\text{MSE} = \frac{1}{n} \sum (y_i - \hat{y}_i)^2, \quad \text{RMSE} = \sqrt{\text{MSE}}\] \[R^2 = 1 - \frac{SS_E}{SS_T}, \quad \text{Adj.}R^2 = 1 - \frac{(1-R^2)(n-1)}{n-p-1}\]

Klasszifikáció

Confusion matrix: TP, TN, FP, FN.

\[\text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN}\] \[\text{Precision} = \frac{TP}{TP + FP}, \quad \text{Recall} = \frac{TP}{TP + FN}\] \[F_1 = \frac{2 \cdot P \cdot R}{P + R} = \frac{2TP}{2TP + FP + FN}\] \[\text{Specificity} = \frac{TN}{TN + FP}, \quad \text{FPR} = 1 - \text{Specificity}\] \[\kappa = \frac{\text{Acc} - \text{Acc}_{random}}{1 - \text{Acc}_{random}}\]

Logisztikus regresszió

\[P(y=1 | x) = \frac{1}{1 + e^{-(\beta_0 + \beta_1 x_1 + \ldots)}}\] \[\text{logit}(p) = \ln\frac{p}{1-p} = \beta_0 + \beta_1 x_1 + \ldots\]

Döntési fa

\[H(Y) = -\sum_x p_x \log_2 p_x\] \[I(Y, X) = H(Y) - \sum_i P(X = x_i) H(Y | X = x_i)\] \[\text{Gini}(T) = 1 - \sum_j p_j^2\]

Klaszterezés

\[SS_W = \sum_c \sum_{x \in C_c} d(x, \mu_c)^2, \quad SS_B = \sum_c n_c \cdot d(\mu_c, \bar{\mu})^2, \quad SS_T = SS_W + SS_B\] \[s_i = \frac{b_i - a_i}{\max(a_i, b_i)} \in [-1, 1]\] \[DB = \frac{1}{k} \sum_i \max_{j \neq i} \frac{\sigma_i + \sigma_j}{d(c_i, c_j)}\]

Távolságmérők

\[d_{Euclid}(x,y) = \sqrt{\sum (x_i - y_i)^2}\] \[d_{Manhattan}(x,y) = \sum |x_i - y_i|\] \[d_{Minkowski}(x,y) = \left(\sum |x_i - y_i|^q\right)^{1/q}\]


10. Házi feladatok

10.1 04.08 — Adatelőkészítés (WineKMC.xlsx)

Üzleti probléma: borkereskedés ügyfeleinek viselkedésvizsgálata (előkészítés szegmentációra). Forrás: John Foreman — Data Smart.

Workflow lépések (Altair AI Studio):

# Művelet Operátor Részlet
1 Ajánlatok tábla beolvasása READ EXCEL 1. munkalap
2 Oszlopok átnevezése RENAME “offer_id”, “campaign”, “varietal”, “min_qty”, “discount”, “origin”, “past_peak”
3 Tranzakciók beolvasása READ EXCEL 2. munkalap
4 Oszlopok átnevezése RENAME “customer_name”, “offer_id”
5 Új konstans oszlop GENERATE ATTRIBUTES tr_num = 1
6 Táblák csatlakoztatása JOIN kulcs: offer_id (inner)
7 Pivot tábla PIVOT group_by: customer_name; column_grouping: offer_id; aggregate: sum(tr_num)
8 Hiányzók 0-val REPLACE MISSING VALUES default value: 0 (kivéve customer_name)
9 Oszlopok átnevezése RENAME sum(tr_num)_11, …, sum(tr_num)_3232
10 Rendezés SORT customer_name növekvő
11 Export WRITE CSV fájl: DataPrep_HF_<NEPTUN>.csv, separator: ;, oszlopnevek bekerülnek
12 Folyamat mentése (File → Save) későbbi összevetésre

Végeredmény: ~100 ügyfél × 33 oszlop (név + 32 ajánlat) mátrix, értékek = adott ügyfél hányszor fogadta el az adott ajánlatot.


10.2 04.22 — Regresszió (AutomobileData.csv)

Üzleti probléma: személygépkocsi ár (PRICE) becslése (forrás: UCI Automobile dataset).

Workflow lépések:

# Művelet Operátor Paraméter
1 Adatok beolvasása READ CSV AutomobileData.csv
2 Numerikus hiányzók pótlása REPLACE MISSING VALUES function: average
3 Célváltozó beállítása SET ROLE PRICE → label
4 Korrelációs szűrés CORRELATION MATRIX + SELECT ATTRIBUTES drop ha |r| > 0,9 (az ábécében később szereplőt)
5 Ritka kategória összevonás REPLACE RARE VALUES min_count: 10, label: “RARE”
6 Dummy változók NOMINAL TO NUMERICAL coding: dummy
7 Tanító-teszt split SPLIT DATA 75% train / 25% test, use local random seed = 1
8 Standardizálás NORMALIZE method: Z-transformation, csak a tanítón illeszt; APPLY MODEL a teszten
9.a Lineáris regresszió LINEAR REGRESSION default; APPLY MODEL; PERFORMANCE (REGRESSION) MAPE + R² mindkét sokaságon
9.b Polinomiális regresszió POLYNOMIAL REGRESSION degree 1, majd degree 2; minden más default; MAPE + R²
9.c GLM GENERALIZED LINEAR MODEL default; MAPE + R²

Értékelési kérdések: - Train vs. test eltérés → túltanulás? - Polinomiális 2-ed fokon javít vagy ront? - GLM mit mond? - Melyik a legjobb test-MAPE / test-R² alapján?


10.3 04.29 — Klasszifikáció (ChurnModelingFinal.csv)

Üzleti probléma: churn (ügyfél-elvándorlás) előrejelzése telco adaton (3 333 ügyfél, 15 változó).

Adatváltozók:

Változó Jelentés
Int_Plan / VMail_Plan nemzetközi / hangposta csomag (igen / nem)
VMail_Message hangposta üzenetek száma
Day/Eve/Night/Int_Mins hívások hossza percben
Day/Eve/Night/Int_Calls hívások száma
CustServ_Calls ügyfélszolgálati hívások (panasz!)
Region_Northeast / South / West régió dummy
Churn célváltozó (1 = elvándorolt)

Workflow lépések:

# Művelet Operátor Paraméter
1 Beolvasás READ CSV / RETRIEVE
2 Bináris konverzió NUMERICAL TO BINOMINAL CHURN
3 Célváltozó SET ROLE CHURN → label
4 Tanító-teszt split SPLIT DATA 67% / 33%, local random seed = 1
5 (Lin. modellekhez) NORMALIZE (z) tanítón + APPLY MODEL teszten

Kötelező: ≥ 5 modell, az alábbiakból: - DECISION TREE (kötelezően tuningolva — pl. depth, criterion, min_size) - RANDOM FOREST (number_of_trees, maximal_depth) - LOGISTIC REGRESSION (standardizálás előtte!) - K-NN (standardizálás kell) - NAIVE BAYES - GRADIENT BOOSTED TREES (number_of_trees, max_depth) - BAGGING

Mindegyikre: APPLY MODEL train és test → PERFORMANCE (BINOMINAL CLASSIFICATION) → train acc + test acc.

Dokumentáció a Klasszifikacio_HF_00.xlsx-be:

Modell Train acc Test acc Nem alapért. paraméterek
Decision Tree maximal_depth=10, …
Random Forest number_of_trees=100, …
Logistic Regression (standardizálva)

Értékelési kérdések: - Melyik modell teljesítette a legjobb teszt accuracy-t? - Melyik mutat túltanulást (nagy train-test delta)? - A CustServ_Calls jelentős prediktor lesz-e?


10.4 05.06 — Szegmentáció demó (LastFMUsage.csv)

Nincs külön HF-PDF, de a demó-workflow alapja a vizsgakérdéseknek.

Workflow lépések:

# Művelet Operátor Paraméter
1 Beolvasás RETRIEVE LastFMUsage
2 Id-szerep SET ROLE id = identifier
3 Standardizálás NORMALIZE Z-transformation
4 Klaszterezés K-MEANS k = 9-10, max_runs = 10, EuclideanDistance
5 Vizualizáció CLUSTER MODEL VISUALIZER overview / heatmap / centroid chart / scatter

Opcionális k-keresés: - LOOP PARAMETERS (k: 2-20) — beágyazva: K-MEANS → CLUSTER DISTANCE PERFORMANCE → LOG - Output: k vs. SSW vs. Davies-Bouldin görbe → könyökpont keresés

Profilozási kérdések: - Mely műfajok jellemzik az egyes klasztereket (heatmap)? - Vannak-e szélsőséges (csak 1-2 elemű) klaszterek? - Adható-e üzleti név mindegyik szegmensnek?


11. Tipikus vizsgakérdések

Adatelőkészítés

1. Mi a CRISP-DM és mik a fázisai? 6 fázisú iteratív módszertan: 1) Business Understanding, 2) Data Understanding, 3) Data Preparation, 4) Modeling, 5) Evaluation, 6) Deployment. A projektidő 60-80%-a a 3. fázisra megy.

2. Hogyan kezelnéd a hiányzó értékeket? Először: a hiányzás mintáját megnézni (MCAR / MAR / MNAR). Ha a változó <30% töltött, érdemes elhagyni. Egyébként numerikusnál átlag / medián, kategoriálisnál módusz vagy “MISSING” speciális érték. Modell-alapú (kNN, regresszió) is opció. List-wise törlés csak MCAR-nál és ha bőven van adat.

3. Mi a különbség a normalizálás és a standardizálás között? Normalizálás (Min-Max): \((x - \min) / (\max - \min) \in [0, 1]\), érzékeny outlierre. Standardizálás (z-score): \((x - \bar{x}) / s\), átlag 0, szórás 1; akkor használjuk ha a korlátokat nem ismerjük.

4. Mi az outlier és hogyan kezeled? Olyan érték, ami az adatsor többi értékétől szignifikánsan eltér. Lehet adathiba, mérési hiba, vagy természetes szélsőség. Kezelés: törlés (ha kevés és hiba), transzformáció (log, sqrt), heurisztikus levágás (99 percentilis), külön klaszter, vagy modell-alapú imputálás.

5. Mi a feature engineering? Új, informatívabb változók származtatása (kombinálás, megbontás, aggregálás). Pl. dátumból év/hónap/hét, ár+mennyiségből összeg, GPS koordinátából távolság-fix-ponttól. Célja: a modell könnyebben tanulja meg a kapcsolatot.

Változókapcsolatok

6. Hogyan vizsgálnád két kategoriális változó kapcsolatát? Kontingencia táblát készítek, majd χ² próbával ellenőrzöm a függetlenséget. \(\chi^2 = \sum (f - F)^2 / F\), szabadságfok \((s-1)(o-1)\). Ha \(p < 0{,}05\), szignifikáns kapcsolat. Erősséget mérhetek Cramér’s V-vel vagy Goodman-Kruskal λ-val.

7. Mit jelent és hogyan számolod a H-mutatót? Vegyes (kategoriális × numerikus) kapcsolat mérőszáma. \(H^2 = \sigma_K^2 / \sigma^2 = 1 - \sigma_B^2 / \sigma^2\). Megmutatja, hogy a kategoriális változó hány %-ban magyarázza a numerikus szóródását. 0 = függetlenség, 1 = determinisztikus.

8. Mi a Pearson-féle korreláció és mit nem mond? Két numerikus változó lineáris kapcsolatának erőssége és iránya. \(r \in [-1, 1]\). \(r = 0\) csak a lineáris függetlenséget jelenti — nemlineáris kapcsolat (pl. parabola) ettől még lehet. A 0,9 felett gyanús, az 1-hez közeli pedig determinista. Érzékeny az outlierre.

9. Mire jó az Anscombe-kvartett? Megmutatja, hogy ugyanazokhoz a leíró statisztikákhoz (átlag, szórás, korreláció) teljesen eltérő eloszlások tartozhatnak. Tanulság: mindig nézz pontdiagramot is, ne csak metrikákat.

10. Mi a determinációs együttható? \(r^2\), a magyarázó változó hány %-ban “magyarázza” a célváltozó szóródását. Egyben a regressziós modell illeszkedését (magyarázó erejét) is jelzi. 1-hez közel = jó modell.

Regresszió

11. Mik a lineáris regresszió feltételei? Linearitás, multikollinearitás hiánya, hibatag normalitása, homoszkedaszticitás (állandó variancia), hibatagok függetlensége, \(E[\varepsilon | X] = 0\).

12. Mi a különbség az R² és Adjusted R² között? \(R^2\) a magyarázott variancia aránya, de minden új változóval nő — akár hasznos, akár nem. Az Adjusted R² bünteti a változók számát: \(\text{Adj.}R^2 = 1 - \frac{(1-R^2)(n-1)}{n-p-1}\). Ha messze elválik az \(R^2\)-től, túltanulás.

13. Hogyan választasz változókat? Forward (üresből léptet be), Backward (teljesből dob ki), Stepwise (mindkét irány), Enter (mind). A választás függhet a változószámtól (Backward kis modellre, Forward sok változónál).

14. Mit jelent az overfitting? Hogyan ismered fel és hogyan kezeled? A modell a tanító adat zaját is megtanulja — train R² magas, test R² alacsony. Felismerés: nagy train-test delta. Kezelés: kevesebb feature, egyszerűbb modell, regularizáció (Ridge / Lasso), több adat, keresztvalidáció.

15. Mi a tanító-teszt-validációs felosztás célja? Train: modell illesztése. Validáció: hiperparaméter-tuning. Test: végső, érintetlen kiértékelés a generalizációra. Tipikusan 60/20/20 vagy k-fold cross-validation.

Klasszifikáció

16. Mi a confusion matrix és mik a metrikák? TP / TN / FP / FN. Accuracy = \((TP+TN)/N\), Precision = \(TP/(TP+FP)\), Recall = \(TP/(TP+FN)\), F1 = \(2PR/(P+R)\), Specificity = \(TN/(TN+FP)\).

17. Mikor használsz precisiont és mikor recallt? Precision = pozitív predikcióból mennyi valós (cél: kevés hamis pozitív, pl. spam). Recall = valós pozitívokból mennyit találunk (cél: kevés hamis negatív, pl. betegségdiagnózis, csalás).

18. Mi az AUC és mit jelentenek az értékei? ROC görbe alatti terület. 0,5 = véletlen, 1,0 = tökéletes. Valószínűségi értelmezés: egy random pozitív és egy random negatív pár közül a modell mekkora valószínűséggel rendezi helyesen.

19. Mi a logisztikus regresszió, miben különbözik a lineáristól? Lineáris kombinációt sigmoid függvénnyel valószínűségé alakít: \(P(y=1) = 1/(1+e^{-z})\). A célváltozó bináris (0/1), a kimenet 0-1 közötti valószínűség. Standardizálás kell előtte.

20. Mi az entrópia és az információ nyereség egy döntési fában? Entrópia \(H(Y) = -\sum p \log_2 p\) a célváltozó bizonytalanságát méri. Információ nyereség \(I(Y,X) = H(Y) - H(Y|X)\) — az X megfigyelése mennyit csökkent a bizonytalanságon. ID3-ban a legnagyobb nyereséggel splitelünk.

21. Mi a Random Forest előnye? Bagging + véletlen feature-subsetting → csökkenti a variancia és túltanulás kockázatát. Stabilabb mint egy döntési fa, kevés tuning kell, feature importance is van. Hátrány: kevésbé értelmezhető, lassabb predikció.

Szegmentáció

22. Mi a különbség a k-means és a hierarchikus klaszterezés között? K-means: előre megadott \(k\), iteratív (Lloyd), átlag-centroidok, gyors, gömbölyű klaszter-feltételezés. Hierarchikus: \(k\) nélkül indítható, dendrogram, lassabb nagy adatra, tetszőleges linkage. A dendrogram után dönthetünk a \(k\)-ról.

23. Mi a Ward-féle linkage? A két legkisebb \(SS_W\)-növekménnyel járó klaszterpárt egyesíti minden lépésben. Általában a legkompaktabb, leghasonlóbb méretű klasztereket adja.

24. Hogyan döntöd el a klaszterek számát? Elbow: \(SS_W\) vs. k görbe könyökpontja. Silhouette: maximalizáljuk az átlag \(s_i\)-t. Davies-Bouldin: minimalizáljuk. Mindezt érdemes együtt nézni, plusz üzleti értelmezhetőséget.

25. Miért kell normalizálni szegmentáció előtt? A K-means euklideszi (vagy más) távolságon alapul. Ha az egyik változó értéke 0-1, a másik 0-1000, a második fogja dominálni. Standardizálással (z-score) minden változó azonos súlyt kap.

Modellek kiértékelése

26. Mit jelent a túltanulás / alultanulás és hogyan kerülhető el? Túltanulás: zajt is tanul, train >> test. Alultanulás: modell túl egyszerű, mindkét score rossz. Kezelés: bias-variance trade-off — komplexebb / egyszerűbb modell, több / kevesebb feature, regularizáció, több adat, korai leállítás.

27. Mi a keresztvalidáció és mire jó? Az adatot \(k\) fold-ra osztjuk, körönként az egyik a teszt, többi a train. Mind a \(k\) score-t átlagoljuk. Robusztusabb becslés a generalizációra; minden példa lesz egyszer test is. Tipikus \(k = 5\) vagy \(10\).

28. Hogyan tuningolod a hiperparamétereket? Grid Search (minden kombináció), Random Search (véletlen mintavétel), Bayesian optimization (előző eredményekből tanul). Mindig keresztvalidációval, hogy ne overfitteljünk a test halmazra.

29. Mi a cost matrix és mikor használnád? Aszimmetrikus hibaköltségnél. Pl. csalásdetekciónál egy FN milliós kár, egy FP csak ügyfélélmény-rontás. A confusion matrix elemeit pénzben súlyozzuk, és profit-maximális küszöböt választunk.

30. Mit jelent az “Explainable ML” és miért fontos? Magyarázható modellek. SHAP, LIME, feature importance, partial dependence plot. Fontos szabályozott iparágakban (banki, egészségügy, GDPR), bizalom-építéshez, és a modell hibáinak debugolásához.


Záró tippek a vizsgára

  1. Magyarul fogalmazz pontosan a szakkifejezésekkel. A magyar és angol kifejezések ekvivalensek (overfitting = túltanulás), de a magyart preferáld a fő PDF szóhasználata szerint.
  2. Mindig adj példát, ha definíciót kérdeznek (pl. “Mi a recall? A betegségdiagnózisnál a beteg személyek hány %-át találjuk meg…”).
  3. Képletet írj le pontosan, jelölésekkel együtt (\(TP\), \(FN\), \(\bar{x}\) stb.).
  4. Számolós feladatnál mindig írd ki a részlépéseket — még részpontot ér.
  5. Workflow-kérdésnél sorold fel az operátorokat sorrendben (RapidMiner / Altair specifikus tudás kell).
  6. Adat → cél → módszer logika: először mondd el, mi a cél (predikció / leírás / csoportosítás), aztán hogy milyen mérési szintű változók vannak, és csak utána a módszert (hisz a módszer ettől függ).
  7. A H-mutató, a χ², és a Pearson r közti különbséget biztosan kérdezik — táblázatos összegzést tanulj meg.
  8. A normalizálás és standardizálás közti különbséget szintén gyakori kérdés.
  9. Confusion matrix elemei és a 4 alapmetrika fejből kell.
  10. Túltanulást szinte mindenhol elő szokták hozni — definíció + felismerés + kezelés mindig készen legyen.

Sok sikert holnap!