Njësia 6 / 11

Ndërtimi i modelit: Përkufizimi i problemit, përzgjedhja e algoritmit dhe ndarja e trajnimit/testit

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?