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.
| # | 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ó | — |
6 fázisú, iteratív módszertan adatelemzési projektekhez:
A fázisok között oda-vissza visszalépés gyakori.
| 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 |
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.
A jó adat egyszerre rendelkezik ezekkel a tulajdonságokkal (bármelyik kiemelt jelentőségű lehet):
GIGO elv (Garbage In, Garbage Out): rossz adatból csak rossz modell jöhet ki.
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)
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
REMOVE DUPLICATESTí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.
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 - x² — 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).
NOMINAL TO NUMERICAL,
ONE-HOT ENCODING)REPLACE RARE VALUES)x > 0)Altair: NORMALIZE (Min-Max vagy Z-Transformation),
DE-NORMALIZE (visszatranszformálás).
Ú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.
| 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 |
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
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)
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
| 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 |
| Nő | 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).
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}}\]
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.
| 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.
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”.
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.
| 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}\) |
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.
| 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 |
Megjegyzés: a pivot nem case-sensitive és külön értékként kezeli a hiányzó értéket.
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
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.
Üzleti alkalmazás: költségbecslés, ingatlanár, részvényhozam, marketing-ROI, eladás előrejelzés.
| 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
| 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 |
| R² | \(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 |
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
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.
Á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.
| 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.
| 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.
Cél: lakásár (SalePrice) becslése 59 változóból, 2930
megfigyelés.
RETRIEVE Ames HousingSELECT ATTRIBUTES — felesleges (PID, Order, Garage
Area, Misc Feature) eldobásaREPLACE MISSING VALUES — nominális: “NA”, numerikus: 0;
Lot Frontage: átlagAGGREGATE-tel, CARTESIAN PRODUCT az eredeti
tábla mellé, GENERATE ATTRIBUTES-szal
min(x, p99) képletű csereGENERATE ATTRIBUTES — ordinális kategóriák (Poor, Fair,
… Excellent) numerikusraREPLACE RARE VALUES — ritka kategóriák összevonásaONE-HOT ENCODING — dummy oszlopokSET ROLE — SalePrice = labelFILTER EXAMPLES — tanító: YR SOLD < 2009; teszt: ≥
2009 (időbeli split, valós deployment-szerű)NORMALIZE (Z-transformation) tanító adaton,
APPLY MODEL a teszt adatraLINEAR REGRESSIONAPPLY MODEL → PERFORMANCE (REGRESSION) —
R², MAPECél: diszkrét célváltozó osztályozása (pl. churn / nem churn, vásárol / nem vásárol, spam / nem spam).
| 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.
Ú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.
Elemei: csomópont (split), ág (kimenetel), levél (osztály).
\[H(Y) = -\sum_{x} p_x \log_2 p_x\]
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ó.
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
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)}}\]
Standardizálás kötelező előtte (mert lineáris modell).
| 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”. |
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 |
Cél: ügyfél elfogadja-e a betét-ajánlatot (y)? 45 211
megfigyelés.
RETRIEVE BankMarketing → SET ROLE (y =
label)GENERATE ATTRIBUTES — kategóriák → 0/1ONE-HOT ENCODING — dummySPLIT DATA — 67% train / 33% test, random seed 1NORMALIZE (z-transformation) tanítón →
APPLY MODEL a tesztreLOGISTIC REGRESSION (H2O) → APPLY MODEL
mindkettőrePERFORMANCE (CLASSIFICATION) → confusion matrix,
accuracyDö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.
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ó.
| 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 |
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.
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).
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.
| 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.
| 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.
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”)?
Adat: 1000 felhasználó, 9 zenei műfaj × 3 felhasználási típus.
RETRIEVE LastFMUsageSET ROLE — id = identifierNORMALIZE — z-transformation (kötelező!)K-MEANS — k = 9-10, max_runs = 10,
EuclideanDistanceCLUSTER MODEL VISUALIZER — overview, heatmap, centroid
chart, scatterOpcionális k-keresés: - LOOP PARAMETERS
(k: 2..20) — beágyazva: K-MEANS →
CLUSTER DISTANCE PERFORMANCE → LOG -
Outputban: k vs. \(SS_W\)
vs. Davies-Bouldin görbe
| 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) |
| 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 |
| R² | dimenziótlan, [0,1] (lehet <0) | közepes |
| Adj. R² | dimenziótlan | korrekció p-re |
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.
| 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).
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 |
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.
\[z = \frac{x - \bar{x}}{s} \quad \text{(standardizálás)}\] \[x' = \frac{x - \min}{\max - \min} \quad \text{(Min-Max normalizálás)}\]
\[\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}\]
\[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\]
\[\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}\]
\[\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}\]
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}}\]
\[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\]
\[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\]
\[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)}\]
\[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}\]
Ü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)_1 → 1, …,
sum(tr_num)_32 → 32 |
| 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.
Ü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?
Ü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?
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?
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.
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.
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.
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ó.
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.
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.
Sok sikert holnap!