Fitimet:
- Aftësia për të përcaktuar llojin e problemit (klasifikimi, regresioni, grupimi) dhe kriteret e suksesit sipas kostos reale të punës
- Aftësia për të ndarë të dhënat me ndershmëri (pa prekur grupin e testit; kronologjikisht në serinë kohore) dhe për të krijuar një bazë vlerësimi pa rrjedhje
- Aftësia për të zgjedhur një model të interpretueshëm duke filluar me një bazë të thjeshtë dhe duke shtuar kompleksitetin vetëm kur e meriton.
Deri tani kemi mbledhur të dhëna, i kemi pastruar, i kemi eksploruar dhe kemi prodhuar veçori. Tani kemi ardhur te puna e vërtetë, duke ndërtuar një model. Një model është një strukturë matematikore që mëson një model nga të dhënat dhe prodhon parashikime për situata të reja. Por pjesa më kritike e ndërtimit të një modeli nuk është vetë kodi, por dy vendimet që i paraprijnë: përcaktimi i problemit të duhur dhe ndarja e saktë e të dhënave. AI është një këshilltar i fuqishëm në përzgjedhjen e algoritmeve, shkrimin e kodit dhe akordimin e parametrave; por i takon një të vendosë se çfarë të parashikojë dhe çfarë do të thotë sukses. Një problem i keqpërcaktuar nuk do të funksionojë as me një model të shkruar në mënyrë perfekte.
Së pari përkufizimi i problemit: çfarë parashikojmë
Çdo punë modelimi fillon me një pyetje, dhe kjo pyetje përcakton llojin e modelit. Klasifikimi - rezultati është një kategori: "A do të largohet apo do të qëndrojë ky klient?", "A është i rremë ky transaksion?". Regresioni (në anglisht regresion - prodhimi është një numër): "Sa vlen kjo shtëpi?", "Sa porosi do të vijnë muajin tjetër?". Grumbullimi (ndarja e të dhënave të paetiketuara në grupe natyrore): "Në sa segmente natyrore ndahen klientët e mi?".
Pjesa e dytë e deklaratës së problemit është kriteri i suksesit: çfarë do të thotë që ky model të jetë "i mirë"? Në një model mashtrimi, humbja e një mashtruesi është shumë më e shtrenjtë se bllokimi aksidental i një klienti të ndershëm; Prandaj, nuk del në pah "saktësia e përgjithshme", por "shkalla e kapjes së mashtruesve". Nëse nuk e përcaktoni këtë kriter që në fillim, së bashku me pronarin e biznesit, do të përfundoni me një model "shumë të saktë" që nuk funksionon (ne do të shkojmë më thellë në metrikë në Njësinë 7).
Kujdes: "Saktësia" mund të jetë mashtruese. Nëse 10 nga 1000 transaksione janë mashtruese, një model budalla që thotë "asnjë nuk është mashtrues" do të japë 99% saktësi, por nuk do të kapë asnjë mashtrues. Zgjidhni kriteret e suksesit bazuar në koston reale të problemit.
Ndarja e trajnimit/testit: ekzaminimi i ndershëm i modelit
Të testosh një model me të dhënat që ka mësuar është si t'i bësh studentit të njëjtat pyetje që ka studiuar në provim; Ai merr nota të larta, por nuk tregon atë që di vërtet. Pra, ne i ndajmë të dhënat në dy (shpesh tre):
- Seti i trajnimit (seti i trajnimit në anglisht, zakonisht 70-80%): Modeli mëson për këtë.
- Seti testues (seti i testimit, zakonisht 20-30%): Modeli nuk e sheh fare këtë; performanca reale matet këtu.
- Kompleti i vlefshmërisë: Kompleti i ndërmjetëm i përdorur për vendosjen e modelit (cili parametër është më i mirë); për të mbajtur "të pastër" grupin e testimit.
Rregulli më themelor: grupi i provës nuk preket kurrë gjatë stërvitjes. Shkallëzimi, kodimi, përzgjedhja e veçorive - të gjitha thjesht mësohen nga grupi i trajnimit, më pas aplikohen në testim (parimi i rrjedhjes nga Njësia 5). Seti i provës është hera e parë që modeli sheh botën reale; Nëse e ndizni shumë herët, nuk do ta dini kurrë performancën e vërtetë.
Përjashtim i serive kohore: Nëse të dhënat tuaja varen nga koha (shitjet, bursa, kërkesa), ndarja e rastësishme nuk bëhet. Sepse ndarja e rastësishme bën që modeli të shohë të ardhmen dhe të parashikojë të kaluarën - kjo është rrjedhje. Në vend të kësaj, ndani në mënyrë kronologjike: stërvituni me periudhën e vjetër, provoni me periudhën e re.
Zgjedhja e algoritmit: nga e thjeshta në komplekse
Gabimi më i zakonshëm i fillestarëve është të fillojnë me modelin më kompleks. Qasja e saktë është e kundërta: së pari vendosni një bazë të thjeshtë. "Gjithmonë me mend klasën e shumicës" në një klasifikim; "vlerëso gjithmonë mesataren" në një regresion. Ky model budalla jep një bazë; Nëse modeli juaj aktual nuk mund ta kalojë këtë, ka një problem. Më pas kaloni në modele të thjeshta dhe të interpretueshme.
model
Lloji i problemit
pikë e fortë
dobësi
Niveli bazë (shumicë/mesatare)
të dyja
Jep pikë referimi
nuk mëson
Regresioni logjistik
Klasifikimi
E thjeshtë, e interpretueshme
Vetëm marrëdhënie lineare
Regresioni linear
regresioni
E thjeshtë, e shpejtë
supozim linear
pema e vendimeve
të dyja
të interpretueshme
Memorizime të lehta
pyll i rastësishëm
të dyja
E fortë, e qëndrueshme
Më pak e interpretueshme
Rritja e gradientit (XGBoost etj.)
të dyja
shumë i fortë
Vështirë për t'u përshtatur, rrezik memorizimi
Rregulli: zgjidhni modelin më të thjeshtë "mjaft të mirë". Interpretueshmëria është më e vlefshme se fuqia në shumicën e konteksteve të biznesit; Është më mirë të shpjegoni një refuzim të kredisë "sepse raporti juaj borxh ndaj të ardhurave është i lartë" sesa "sepse kutia e zezë tha kështu".
tre mini kuti
Rasti 1 - Përkufizimi i gabuar i problemit. Një ekip ndërtoi një model klasifikimi bazuar në "a është klienti i kënaqur", por zgjodhi "saktësinë" si kriterin e suksesit. Në të dhëna, 88% e klientëve ishin të kënaqur; Modelja mori 88% saktësi duke i quajtur të gjithë "të kënaqur" dhe kurrë nuk i kapi njerëzit e pakënaqur - edhe pse qëllimi i vërtetë ishte gjetja e tyre. Mësimi: zgjidhni kriteret e suksesit bazuar në qëllimin real.
Rasti 2 - Rrjedhja e kohës në ndarje. Në një projekt të parashikimit të kërkesës, të dhënat u ndanë rastësisht. Modeli dha 93% saktësi, por u rrëzua në prodhim, sepse në stërvitje kishte parashikuar janarin, pastaj nëntorin, me të dhënat e dhjetorit - kishte parë të ardhmen. Kur kaluam në ndarjen kronologjike, performanca aktuale u rrit në 74%. Mësimi: ndarja kronologjike në seri kohore.
Rasti 3 — Kompleksitet i panevojshëm. Një analist filloi drejtpërdrejt me një rrjet nervor të thellë, e akordoi atë për javë të tëra dhe mori 81% saktësi. Pastaj një koleg mori 80% me 20 rreshta të regresionit logjistik - shumë më i shpejtë, i interpretueshëm dhe më i lehtë për t'u ruajtur. Mësimi: filloni me një bazë dhe një model të thjeshtë, shtoni kompleksitetin kur e meriton.
Katër shabllone të kopjueshëm
1) Sqarimi i përkufizimit të problemit:
Roli juaj: konsulent modelimi. Më ndihmo të përcaktoj këtë punë: "Dua të reduktoj largimin e klientëve". Më pyesni dhe më sqaroni: (1) është ky një klasifikim apo regresion, (2) cila është saktësisht ndryshorja e synuar dhe si duhet të përcaktohet, (3) cilat duhet të jenë kriteret e suksesit dhe pse. Vendimi është i imi; ju paraqisni pyetjet dhe opsionet.
2) Ndarja e sigurt e trajnimit/testimit:
Ndani df-në time në trajnim/testim 80%/20%. Ruajtja e shpërndarjes së klasës (shtresimi).random_state=42. Kjo NUK është një SERI KOHORE (vëzhgime të pavarura). Shtypni raportin e klasave të secilit grup pas ndarjes. Thjesht jepni kodin e ndarjes grupit të testimit pa aplikuar asnjë transformim.
3) Ndarja kronologjike e serive kohore:
Të dhënat varen nga koha (kolona e datës: porosi_data). JO rastësisht, ndajeni në mënyrë kronologjike: trajnimi më i vjetër 80%, testimi më i ri 20%. Shtypni diapazonin e datave të trajnimit dhe testimit në mënyrë që të verifikoj se e ardhmja nuk ka rrjedhur.
4) Vendosja e një baze:
Unë kam një problem klasifikimi (objektivi: churn 0/1). Fillimisht vendosni një bazë: matni saktësinë e trajnimit/testimit me DummyClassifier, i cili gjithmonë parashikon klasën e shumicës. Më pas stërvitni një regresion të thjeshtë logjistik dhe krahasoni nëse e kalon vijën bazë. Trego metrikën e të dyve krah për krah.
Prompt i dobët / Prompt i fortë
Njoftim i dobët:
Ndërtoni modelin më të mirë me këto të dhëna.
"Më e mira" është e papërcaktuar; Nuk ka asnjë lloj problemi, asnjë qëllim, asnjë kriter suksesi dhe asnjë strategji ndarjeje. AI gjeneron një model të rastësishëm, ndoshta të rrjedhshëm.
Njoftim i fuqishëm:
Roli juaj: asistent modelimi. Problemi: klasifikimi, objektivi "dybek" (0/1), ka mosbalancim të klasës (~12% dyndje). Kriteri i suksesit: Rikujtimi i atyre që tërhiqen është një prioritet. Vëzhgim i pavarur nga të dhënat (jo seri kohore). Detyra: (1) ndarje e shtresuar 80/20%, (2) vija bazë DummyClassifier, (3) regresioni logjistik, të gjitha transformimet në linjë dhe të mësuara vetëm nga trajnimi. Mos e prekni grupin e provës para ndarjes.
Këtu lloji i problemit, çekuilibri, kriteri dhe masa e rrjedhjes janë të qarta.
Gabimet e zakonshme
- Moszgjedhja e kritereve të suksesit sipas qëllimit real. "Saktësia" në të dhënat e pabalancuara është mashtruese; Nëse doni të kapni klasën e pakicës, kujtimi del në plan të parë.
- Prekja e grupit të provës gjatë stërvitjes. Bërja e shkallëzimit/kodifikimit përpara ndarjes rrjedh dhe fsheh performancën reale.
- Ndarje e rastësishme në seri kohore. Modeli sheh të ardhmen, shembet në prodhim; Ndarja kronologjike është thelbësore.
- Kërcimi në një model kompleks pa vendosur një bazë. Pa standarde nuk mund të dini nëse një model është vërtet i mirë apo jo.
- Injorimi i interpretueshmërisë. Në vendimet e biznesit, një model i thjeshtë i shpjegueshëm është shpesh më i vlefshëm se një kuti e zezë.
Këshillë: Para se të filloni të ndërtoni një model, shkruani një fjali: "Ky model do të parashikojë _____, suksesi i tij do të matet me metrikën _____, sepse kostoja e vërtetë e punës është _____." Nëse nuk mund ta plotësoni këtë fjali, nuk jeni ende gati për të shkruar kodin.
Në përmbledhje
Pjesa më kritike e ndërtimit të një modeli nuk është kodi, por vendimet që i paraprijnë: përcaktimi i problemit të duhur (klasifikimi apo regresioni, cili është qëllimi, cili është kriteri i suksesit) dhe ndarja e të dhënave në mënyrë të drejtë (pa prekur grupin e testimit; kronologjik në serinë kohore). Filloni gjithmonë me një bazë të thjeshtë dhe shtoni kompleksitetin vetëm kur e meriton; interpretueshmëria vlerësohet mbi fuqinë në shumicën e konteksteve të biznesit. AI është një këshilltar i fuqishëm në zgjedhjen e algoritmeve dhe kodit, por njeriu vendos se çfarë parashikoni dhe pse.
Detyra e aplikimit
Përcaktoni një problem parashikimi dhe plotësoni fjalinë e mëposhtme me shkrim: "Ky model do të parashikojë ___ (klasifikim/regresion), objektivi është ___, kriteri i suksesit është ___ sepse ___." Pastaj ndani të dhënat me strategjinë e duhur (kronologjike nëse është një seri kohore), vendosni një bazë dhe matni nëse një model i thjeshtë e thyen atë bazë.
listë kontrolli
- [ ] A e kam përcaktuar qartë llojin e problemit (klasifikimin/regresionin) dhe objektivin?
- [ ] A i kam zgjedhur kriteret e suksesit bazuar në koston aktuale të punës?
- [ ] A e lashë grupin e testit të paprekur gjatë stërvitjes?
- [ ] Nëse është një seri kohore, a e kam ndarë në mënyrë kronologjike?
- [ ] A kam krijuar një bazë para se të kaloj në modelin kompleks?