Mga nadagdag:
- Kakayahang tukuyin ang uri ng problema (klasipikasyon, regression, clustering) at pamantayan ng tagumpay ayon sa tunay na halaga ng trabaho
- Kakayahang hatiin nang tapat ang data (nang hindi hinahawakan ang set ng pagsubok; sunud-sunod sa serye ng oras) at magtatag ng walang-leak na batayan sa pagsusuri
- Kakayahang pumili ng isang nabibigyang kahulugan na modelo sa pamamagitan ng pagsisimula sa isang simpleng baseline at pagdaragdag lamang ng pagiging kumplikado kapag ito ay nararapat.
Sa ngayon, nakolekta namin ang data, nilinis ito, ginalugad ito, at gumawa ng mga tampok. Ngayon ay dumating kami sa totoong gawain, pagbuo ng isang modelo. Ang modelo ay isang mathematical structure na natututo ng pattern mula sa data at gumagawa ng mga hula para sa mga bagong sitwasyon. Ngunit ang pinakamahalagang bahagi ng pagbuo ng isang modelo ay hindi ang code mismo, ngunit ang dalawang desisyon na nauuna dito: pagtukoy sa tamang problema at paghahati ng data nang tama. Ang AI ay isang makapangyarihang tagapayo sa pagpili ng algorithm, pagsulat ng code, at pag-tune ng parameter; ngunit nasa isa ang magpapasya kung ano ang mahulaan at kung ano ang ibig sabihin ng tagumpay. Ang isang hindi natukoy na problema ay hindi gagana kahit na may perpektong nakasulat na modelo.
Depinisyon muna ng problema: ano ang hinuhulaan natin
Ang bawat trabaho sa pagmomodelo ay nagsisimula sa isang tanong, at tinutukoy ng tanong na ito ang uri ng modelo. Klasipikasyon — ang output ay isang kategorya: "Aalis ba o mananatili ang customer na ito?", "Peke ba ang transaksyong ito?". Regression (sa English regression - ang output ay isang numero): "Magkano ang halaga ng bahay na ito?", "Ilang mga order ang darating sa susunod na buwan?". Clustering (paghahati ng walang label na data sa mga natural na grupo): "Ilang mga natural na segment ang nahahati sa aking mga customer?".
Ang ikalawang bahagi ng pahayag ng problema ay ang pamantayan ng tagumpay: ano ang ibig sabihin ng modelong ito na maging "mabuti"? Sa isang modelo ng panloloko, ang pagkawala ng isang manloloko ay mas mahal kaysa sa hindi sinasadyang pagharang sa isang tapat na customer; Samakatuwid, hindi "pangkalahatang katumpakan" kundi "rate ng paghuli ng mga manloloko" ang nauuna. Kung hindi mo tutukuyin ang pamantayang ito sa simula, kasama ang may-ari ng negosyo, mapupunta ka sa isang "napakatumpak" na modelo na hindi gumagana (mas malalalim pa natin ang mga sukatan sa Unit 7).
Pag-iingat: Ang "Katumpakan" ay maaaring mapanlinlang. Kung 10 sa 1000 na mga transaksyon ay mapanlinlang, ang isang hangal na modelo na nagsasabing "walang mapanlinlang" ay magbibigay ng 99% katumpakan ngunit hindi makakahuli ng isang manloloko. Pumili ng pamantayan sa tagumpay batay sa tunay na halaga ng problema.
Pagsasanay/paghahati sa pagsusulit: matapat na pagsusuri ng modelo
Ang pagsubok sa isang modelo gamit ang data na natutunan nito ay tulad ng pagtatanong sa mag-aaral ng parehong mga tanong na pinag-aralan niya sa pagsusulit; Siya ay nakakakuha ng mataas na marka ngunit hindi nagpapakita kung ano talaga ang kanyang nalalaman. Kaya hinati namin ang data sa dalawa (madalas tatlo):
- Set ng pagsasanay (set ng pagsasanay sa English, karaniwang 70-80%): Natututo ang modelo tungkol dito.
- Set ng pagsubok (set ng pagsubok, karaniwang 20-30%): Hindi ito nakikita ng modelo; ang tunay na pagganap ay sinusukat dito.
- Set ng pagpapatunay: Intermediate set na ginagamit para sa setting ng modelo (aling parameter ang mas mahusay); upang panatilihing "malinis" ang set ng pagsubok.
Ang pinaka-pangunahing tuntunin: ang test set ay hindi kailanman hinawakan sa panahon ng pagsasanay. Pag-scale, coding, pagpili ng tampok — lahat ay natutunan lamang mula sa set ng pagsasanay, pagkatapos ay inilapat sa pagsubok (prinsipyo ng pagtagas mula sa Yunit 5). Ang test set ay ang unang pagkakataon na nakita ng modelo ang totoong mundo; Kung i-on mo ito ng masyadong maaga, hindi mo malalaman ang totoong performance.
Pagbubukod sa serye ng oras: Kung ang iyong data ay nakasalalay sa oras (benta, stock market, demand), hindi ginagawa ang random na paghahati. Dahil ang random na paghahati ay nagiging dahilan upang makita ng modelo ang hinaharap at mahulaan ang nakaraan — ito ay pagtagas. Sa halip, hatiin ayon sa pagkakasunod-sunod: sanayin sa lumang panahon, pagsubok sa bagong panahon.
Pagpili ng algorithm: mula sa simple hanggang sa kumplikado
Ang pinakakaraniwang pagkakamali ng mga nagsisimula ay ang magsimula sa pinaka kumplikadong modelo. Ang tamang diskarte ay ang kabaligtaran: magtatag muna ng isang simpleng baseline. "palaging hulaan ang karamihan ng klase" sa isang pag-uuri; "laging tantyahin ang ibig sabihin" sa isang regression. Ang hangal na modelong ito ay nagbibigay ng baseline; Kung ang iyong aktwal na modelo ay hindi makapasa dito, may problema. Pagkatapos ay lumipat sa simple at nabibigyang-kahulugan na mga modelo.
modelo
Uri ng problema
malakas na punto
kahinaan
Baseline (karamihan/karaniwan)
pareho
Nagbibigay ng benchmark
hindi natututo
Logistic regression
Pag-uuri
Simple, maiintindihan
Linear na relasyon lang
Linear regression
regression
Simple, mabilis
linear na palagay
puno ng desisyon
pareho
maipaliwanag
Madaling pagsasaulo
random na kagubatan
pareho
Matibay, matibay
Hindi gaanong maipaliwanag
Pagpapalakas ng gradient (XGBoost atbp.)
pareho
napakalakas
Ang hirap mag adjust, risk ng memorization
Panuntunan: piliin ang pinakasimpleng "sapat na mahusay" na modelo. Ang pagiging madaling maintindihan ay mas mahalaga kaysa sa kapangyarihan sa karamihan ng mga konteksto ng negosyo; Mas mainam na ipaliwanag ang isang pagtanggi sa pautang "dahil ang ratio ng iyong utang-sa-kita ay mataas" kaysa sa "dahil ang itim na kahon ang nagsabi."
tatlong mini case
Kaso 1 — Maling kahulugan ng problema. Ang isang koponan ay bumuo ng isang modelo ng pag-uuri batay sa "ay ang customer ay nasiyahan" ngunit pinili ang "katumpakan" bilang ang criterion ng tagumpay. Sa data, 88% ng mga customer ay nasiyahan; Nakakuha ang modelo ng 88% katumpakan sa pamamagitan ng pagtawag sa lahat ng "nasiyahan" at hindi kailanman nahuli ang mga hindi nasisiyahang tao — kahit na ang tunay na layunin ay hanapin sila. Aralin: pumili ng pamantayan ng tagumpay batay sa tunay na layunin.
Case 2 — Tumagas ang oras sa compartment. Sa isang proyekto sa pagtataya ng demand, random na hinati ang data. Ang modelo ay nagbigay ng 93% katumpakan ngunit bumagsak sa produksyon dahil sa pagsasanay ay hinulaan nito ang Enero, pagkatapos ay Nobyembre, na may data ng Disyembre - nakita nito ang hinaharap. Noong lumipat kami sa chronological division, tumaas ang aktwal na performance sa 74%. Aralin: kronolohikal na paghahati sa serye ng oras.
Kaso 3 — Hindi kailangang kumplikado. Direktang nagsimula ang isang analyst sa isang malalim na neural network, na-tune ito nang ilang linggo, at nakakuha ng 81% katumpakan. Pagkatapos ay nakakuha ang isang kasamahan ng 80% na may 20 linya ng logistic regression — mas mabilis, maiintindihan at mas madaling mapanatili. Aralin: magsimula sa isang baseline at isang simpleng modelo, magdagdag ng pagiging kumplikado kapag ito ay nararapat.
Apat na maaaring kopyahin na mga template
1) Paglilinaw sa kahulugan ng problema:
Ang iyong tungkulin: consultant sa pagmomolde. Tulungan akong tukuyin ang trabahong ito: "Gusto kong bawasan ang customer churn." Tanungin mo ako at linawin: (1) ito ba ay isang klasipikasyon o regression, (2) ano nga ba ang target na variable at paano ito dapat tukuyin, (3) ano ang dapat na pamantayan sa tagumpay at bakit. Ang desisyon ay akin; ipakita mo ang mga tanong at opsyon.
2) Ligtas na training/test compartment:
Hatiin ang aking df sa pagsasanay/pagsubok 80%/20%. Panatilihin ang pamamahagi ng klase (stratify).random_state=42. Ito ay HINDI isang TIME SERIES (mga independiyenteng obserbasyon). I-print ang ratio ng klase ng bawat set pagkatapos ng paghahati. Ibigay lang ang splitting code sa test set nang hindi naglalapat ng anumang pagbabago.
3) Pagkakasunod-sunod na dibisyon ng serye ng oras:
Ang data ay nakasalalay sa oras (column ng petsa: order_date). HINDI random, hatiin ayon sa pagkakasunod-sunod: pinakalumang 80% na pagsasanay, pinakabagong 20% na pagsubok. I-print ang mga hanay ng petsa ng pagsasanay at pagsubok para ma-verify kong hindi nag-leak ang hinaharap.
4) Pagtatakda ng baseline:
Mayroon akong problema sa pag-uuri (target: churn 0/1). Magtatag muna ng baseline: sukatin ang katumpakan ng pagsasanay/pagsubok gamit ang DummyClassifier, na palaging hinuhulaan ang karamihan sa klase. Pagkatapos ay sanayin ang isang simpleng logistic regression at ihambing kung ito ay natalo sa baseline. Ipakita ang mga sukatan ng dalawang magkatabi.
Mahinang prompt / Malakas na prompt
Mahinang prompt:
Buuin ang pinakamahusay na modelo gamit ang data na ito.
Ang "Pinakamahusay" ay hindi natukoy; Walang uri ng problema, walang layunin, walang pamantayan sa tagumpay at walang diskarte sa paghahati. Ang AI ay bumubuo ng isang random na pattern, posibleng tumutulo.
Napakahusay na prompt:
Ang iyong tungkulin: modeling assistant. Problema: klasipikasyon, target na "churn" (0/1), mayroong class imbalance (~12% churn). Pamantayan ng tagumpay: Ang pag-alaala sa mga nag-churn ay isang priyoridad. Data independent observation (hindi time series). Gawain: (1) 80/20% stratified split, (2) DummyClassifier baseline, (3) logistic regression, lahat ng pagbabago sa pipeline at natutunan lamang mula sa pagsasanay. Huwag hawakan ang test set bago hatiin.
Dito malinaw ang uri ng problema, imbalance, criterion at leakage measure.
Mga karaniwang pagkakamali
- Hindi pagpili ng pamantayan ng tagumpay ayon sa tunay na layunin. Ang "katumpakan" sa hindi balanseng data ay nakakapanlinlang; Kung gusto mong makuha ang klase ng minorya, mauuna ang recall.
- Pagpindot sa set ng pagsubok sa panahon ng pagsasanay. Ang paggawa ng scaling/encoding bago ang paghahati ay tumutulo at nagtatago ng tunay na pagganap.
- Random na paghahati sa time series. Nakikita ng modelo ang hinaharap, bumagsak sa produksyon; Ang pagkakahati ng kronolohikal ay mahalaga.
- Tumalon sa isang kumplikadong modelo nang hindi nagtatatag ng baseline. Kung walang mga benchmark hindi mo malalaman kung ang isang modelo ay talagang mahusay o hindi.
- Hindi pinapansin ang interpretability. Sa mga desisyon sa negosyo, ang isang simpleng maipaliwanag na modelo ay kadalasang mas mahalaga kaysa sa isang itim na kahon.
Tip: Bago ka magsimulang bumuo ng isang modelo, sumulat ng isang pangungusap: "Ang modelong ito ay hulaan ang _____, ang tagumpay nito ay susukatin ng metric _____, dahil ang tunay na halaga ng trabaho ay _____." Kung hindi mo mapunan ang pangungusap na ito, hindi ka pa handang magsulat ng code.
Sa buod
Ang pinakamahalagang bahagi ng pagbuo ng isang modelo ay hindi ang code, ngunit ang mga desisyon na nauuna dito: pagtukoy sa tamang problema (pag-uuri o pagbabalik, ano ang layunin, ano ang pamantayan ng tagumpay) at paghahati ng data nang patas (nang hindi hinahawakan ang set ng pagsubok; kronolohikal sa serye ng oras). Palaging magsimula sa isang simpleng baseline at magdagdag lamang ng pagiging kumplikado kapag nararapat ito; ang interpretability ay pinahahalagahan kaysa sa kapangyarihan sa karamihan ng mga konteksto ng negosyo. Ang AI ay isang makapangyarihang tagapayo sa pagpili at code ng algorithm, ngunit ang tao ang magpapasya kung ano ang iyong hinuhulaan at kung bakit.
Gawain ng aplikasyon
Tukuyin ang isang problema sa paghula at kumpletuhin ang sumusunod na pangungusap sa pagsulat: "Ang modelong ito ay maghuhula ng ___ (pag-uuri/pagbabalik), ang target ay ___, ang pamantayan ng tagumpay ay ___ dahil ___." Pagkatapos ay hatiin ang data gamit ang tamang diskarte (kronolohiko kung ito ay isang serye ng oras), magtatag ng baseline, at sukatin kung ang isang simpleng pattern ay sumisira sa baseline na iyon.
checklist
- [ ] Malinaw ko bang tinukoy ang uri ng problema (classification/regression) at ang target?
- [ ] Napili ko ba ang pamantayan ng tagumpay batay sa aktwal na halaga ng trabaho?
- [ ] Iniwan ko ba ang test set na hindi nagalaw habang nagsasanay?
- [ ] Kung ito ay isang serye ng panahon, hinati ko ba ito ayon sa pagkakasunod-sunod?
- [ ] Nakapagtatag ba ako ng baseline bago lumipat sa kumplikadong modelo?