zisky:
- Schopnost definovat typ problému (klasifikace, regrese, shlukování) a kritéria úspěšnosti podle skutečných nákladů na práci
- Schopnost poctivě rozdělit data (bez dotyku s testovacím souborem; chronologicky v časové řadě) a vytvořit základ pro hodnocení bez úniků
- Schopnost vybrat si interpretovatelný model tím, že začnete s jednoduchou základní linií a přidáte složitost pouze tehdy, když si to zaslouží.
Dosud jsme shromáždili data, vyčistili je, prozkoumali je a vytvořili funkce. Nyní se dostáváme ke skutečné práci, stavbě modelu. Model je matematická struktura, která se učí vzor z dat a vytváří předpovědi pro nové situace. Ale nejkritičtější částí budování modelu není samotný kód, ale dvě rozhodnutí, která mu předcházejí: definování správného problému a správné rozdělení dat. Umělá inteligence je výkonným poradcem při výběru algoritmu, psaní kódu a ladění parametrů; ale je na každém, aby se rozhodl, co předpovědět a co znamená úspěch. Špatně definovaný problém nebude fungovat ani s dokonale napsaným modelem.
Nejprve definice problému: co předpovídáme
Každá modelingová práce začíná otázkou a tato otázka určuje typ modelu. Klasifikace — výstupem je kategorie: „Odejde tento zákazník nebo zůstane?“, „Je tato transakce falešná?“. Regrese (v angličtině regrese - výstupem je číslo): "Kolik stojí tento dům?", "Kolik objednávek přijde příští měsíc?". Clustering (rozdělení neoznačených dat do přirozených skupin): „Na kolik přirozených segmentů jsou moji zákazníci rozděleni?“.
Druhá část prohlášení o problému je kritériem úspěšnosti: co pro tento model znamená být „dobrý“? V modelu podvodu je zmeškaní podvodníka mnohem dražší než náhodné zablokování poctivého zákazníka; Do popředí se tedy dostává nikoli „obecná přesnost“, ale „míra dopadení podvodníků“. Pokud toto kritérium nedefinujete od začátku, spolu s majitelem firmy skončíte s „vysoce přesným“ modelem, který nefunguje (podrobněji se budeme věnovat metrikám v Unit 7).
Pozor: „Přesnost“ může být zavádějící. Pokud je 10 z 1000 transakcí podvodných, hloupý model, který říká „žádná není podvodná“, poskytne 99% přesnost, ale nechytí jediného podvodníka. Vyberte kritéria úspěchu na základě skutečných nákladů na problém.
Trénink/test splitting: poctivé prozkoumání modelu
Testovat model s daty, která se naučil, je jako klást studentovi stejné otázky, jaké studoval u zkoušky; Dostává vysoké známky, ale neukazuje, co skutečně ví. Takže data rozdělíme na dvě (často tři):
- Tréninkový set (tréninkový set v angličtině, obvykle 70-80%): Model se na tom učí.
- Testovací sada (testovací sada, obvykle 20-30%): Model to vůbec nevidí; zde se měří skutečný výkon.
- Validační sada: Mezilehlá sada používaná pro nastavení modelu (který parametr je lepší); abyste udrželi testovací sadu "čistou".
Nejzákladnější pravidlo: během tréninku se nikdy nesahá na testovací sadu. Škálování, kódování, výběr funkcí – to vše se jednoduše naučíte z tréninkové sady a poté se aplikuje na testování (princip úniku z jednotky 5). Testovací sada je poprvé, kdy model vidí skutečný svět; Pokud jej zapnete příliš brzy, nikdy nepoznáte skutečný výkon.
Výjimka časové řady: Pokud jsou vaše data časově závislá (prodej, akciový trh, poptávka), náhodné rozdělení se neprovádí. Protože náhodné rozdělení způsobuje, že model vidí budoucnost a předpovídá minulost – jedná se o únik. Místo toho rozdělte chronologicky: trénujte se starým obdobím, testujte s novým obdobím.
Výběr algoritmu: od jednoduchých po komplexní
Nejčastější chybou začátečníků je začít s nejsložitějším modelem. Správný přístup je opačný: nejprve si stanovte jednoduchou základní linii. "vždy uhodnout třídu většiny" v klasifikaci; "vždy odhadnout průměr" v regresi. Tento hloupý model poskytuje základní linii; Pokud váš skutečný model toto nemůže splnit, je problém. Poté přejděte k jednoduchým a interpretovatelným modelům.
model
Typ problému
silná stránka
slabost
Základní (většina/průměr)
obojí
Dává měřítko
se neučí
Logistická regrese
Klasifikace
Jednoduché, interpretovatelné
Pouze lineární vztah
Lineární regrese
regrese
Jednoduché, rychlé
lineární předpoklad
rozhodovací strom
obojí
interpretovatelné
Snadné zapamatování
náhodný les
obojí
Silný, odolný
Méně interpretovatelné
Zesílení přechodu (XGBoost atd.)
obojí
velmi silný
Obtížné nastavování, riziko zapamatování
Pravidlo: vyberte si nejjednodušší model „dost dobrý“. Interpretovatelnost je ve většině obchodních kontextů cennější než moc; Je lepší vysvětlit zamítnutí půjčky „protože váš poměr dluhu k příjmu je vysoký“ než „protože to řekla černá skříňka“.
tři mini pouzdra
Případ 1 – Nesprávná definice problému. Tým vytvořil klasifikační model založený na „je zákazník spokojen“, ale jako kritérium úspěchu zvolil „přesnost“. V datech bylo spokojeno 88 % zákazníků; Model získal 88% přesnost tím, že všechny označil za „spokojené“ a nikdy nespokojené lidi nezachytil – i když skutečným cílem bylo je najít. Lekce: zvolte kritéria úspěchu na základě skutečného účelu.
Případ 2 — Únik času v oddělení. V projektu prognózování poptávky byla data náhodně rozdělena. Model poskytoval 93% přesnost, ale ve výrobě havaroval, protože v tréninku předpovídal leden a poté listopad s prosincovými údaji – viděl budoucnost. Když jsme přešli na chronologické dělení, skutečný výkon vzrostl na 74 %. Lekce: chronologické členění v časových řadách.
Případ 3 – Zbytečná složitost. Jeden analytik začal přímo s hlubokou neuronovou sítí, ladil ji týdny a dosáhl 81% přesnosti. Pak kolega získal 80 % pomocí 20 řádků logistické regrese – mnohem rychlejší, interpretovatelnější a snadněji se udržuje. Lekce: začněte základní linií a jednoduchým modelem, přidejte složitost, když si to zaslouží.
Čtyři kopírovatelné šablony
1) Vysvětlení definice problému:
Vaše role: modelingový konzultant. Pomozte mi definovat tuto práci: „Chci snížit odchod zákazníků.“ Zeptejte se mě a objasněte: (1) je to klasifikace nebo regrese, (2) co přesně je cílová proměnná a jak by měla být definována, (3) jaká by měla být kritéria úspěchu a proč. Rozhodnutí je na mně; předkládáte otázky a možnosti.
2) Bezpečný tréninkový/zkušební prostor:
Rozdělit můj df na trénink/testování 80%/20%. Udržujte rozdělení tříd (stratify).random_state=42. Toto NENÍ ČASOVÁ ŘADA (nezávislá pozorování). Po rozdělení vytiskněte poměr tříd každé sady. Stačí zadat rozdělovací kód testovací sadě bez použití jakékoli transformace.
3) Časové řady chronologické členění:
Data jsou časově závislá (sloupec data: datum_objednávky). NENÍ náhodné, rozdělte chronologicky: nejstarší 80% trénink, nejnovější 20% testování. Vytiskněte si rozsahy dat školení a testování, abych si mohl ověřit, že budoucnost neunikla.
4) Nastavení základní linie:
Mám problém s klasifikací (cíl: churn 0/1). Nejprve stanovte základní linii: změřte přesnost tréninku/testování pomocí DummyClassifier, který vždy předpovídá většinovou třídu. Poté natrénujte jednoduchou logistickou regresi a porovnejte, zda překonává základní čáru. Ukažte metriky těchto dvou vedle sebe.
Slabá výzva / Silná výzva
Slabá výzva:
Sestavte nejlepší model s těmito daty.
"Nejlepší" není definováno; Neexistuje žádný typ problému, žádný cíl, žádná kritéria úspěchu a žádná strategie rozdělení. AI generuje náhodný vzor, možná děravý.
Výkonná výzva:
Vaše role: modelingový asistent. Problém: klasifikace, cílový "churn" (0/1), existuje třídní nerovnováha (~12% odchod). Kritérium úspěšnosti: Prioritou je odvolání těch, kdo stloukají. Pozorování nezávislé na datech (nikoli časové řady). Úkol: (1) 80/20% stratifikované rozdělení, (2) základní linie DummyClassifier, (3) logistická regrese, všechny transformace v potrubí a naučené pouze z tréninku. Před dělením se testovací sady nedotýkejte.
Zde je jasný typ problému, nevyváženost, kritérium a míra úniku.
Časté chyby
- Nevybírat kritéria úspěchu podle skutečného účelu. „Přesnost“ v nevyvážených datech je zavádějící; Pokud chcete zaujmout menšinovou třídu, přichází do popředí odvolání.
- Dotýkání se testovací sady během tréninku. Provádění škálování/kódování před rozdělením je děravé a skrývá skutečný výkon.
- Náhodné rozdělení v časových řadách. Model vidí budoucnost, kolabuje ve výrobě; Zásadní je chronologické členění.
- Skočit do složitého modelu bez stanovení základní linie. Bez benchmarků nemůžete vědět, zda je model opravdu dobrý nebo ne.
- Ignorování interpretovatelnosti. V obchodních rozhodnutích je jednoduchý vysvětlitelný model často cennější než černá skříňka.
Tip: Než začnete sestavovat model, napište jednu větu: „Tento model předpovídá _____, jeho úspěšnost bude měřena metrikou _____, protože skutečná cena práce je _____.“ Pokud nemůžete vyplnit tuto větu, ještě nejste připraveni psát kód.
V souhrnu
Nejkritičtější částí budování modelu není kód, ale rozhodnutí, která mu předcházejí: definování správného problému (klasifikace nebo regrese, jaký je cíl, jaké je kritérium úspěšnosti) a spravedlivé rozdělení dat (aniž byste se dotkli testovací sady, chronologicky v časové řadě). Vždy začněte s jednoduchou základní linií a přidávejte složitost pouze tehdy, když si to zaslouží; interpretovatelnost je ve většině obchodních kontextů oceňována před mocí. Umělá inteligence je mocný poradce při výběru algoritmů a kódu, ale člověk rozhoduje o tom, co předpovídáte a proč.
Aplikační úkol
Definujte problém predikce a doplňte písemně následující větu: „Tento model předpovídá ___ (klasifikace/regrese), cílem je ___, kritériem úspěchu je ___, protože ___. Poté rozdělte data pomocí správné strategie (chronologické, pokud se jedná o časovou řadu), stanovte základní linii a změřte, zda jednoduchý vzor tuto základní linii porušuje.
kontrolní seznam
- [ ] Jasně jsem definoval typ problému (klasifikace/regrese) a cíl?
- [ ] Zvolil jsem kritéria úspěchu na základě skutečných nákladů na práci?
- [ ] Nechal jsem během tréninku testovací sadu nedotčenou?
- [ ] Pokud se jedná o časovou řadu, rozdělil jsem ji chronologicky?
- [ ] Vytvořil jsem základní linii, než jsem přešel na komplexní model?