Kitengo 10 / 11

Uvujaji wa Data na Uzalishaji tena: Maafa ya Kimya na Nidhamu

Faida:

  • Uwezo wa kutambua aina za uvujaji wa data (lengo, wakati, usindikaji wa awali, safu mlalo zilizopangwa) na kuuliza alama ya 'nzuri sana kuwa kweli' kama kengele.
  • Uwezo wa kuzuia kuvuja kwa kutenganishwa mapema kwa seti ya jaribio, bomba na mgawanyiko sahihi (mtazamo / kikundi)
  • Uwezo wa kufanya uchambuzi uweze kuzaliana tena na mbegu zisizohamishika, udhibiti wa toleo na uondoaji wa hatua za mwongozo

Kuna makosa mawili ambayo hupoteza juhudi nyingi katika sayansi ya data, na zote mbili ni za siri kwa sababu husababisha maafa wakati kila kitu "kinaonekana kuwa sawa." Ya kwanza ni uvujaji wa data: mtindo hufanya kazi vizuri kwenye seti ya majaribio lakini huacha kufanya kazi katika uzalishaji. Ya pili ni kutozalisha tena: unafanya uchambuzi miezi sita baadaye na kupata matokeo tofauti kabisa. Kitengo hiki kimejitolea kujua na kuepuka mitego hii miwili kwa kina. AI inaweza kuongeza hatari zote mbili (huzalisha haraka, hupendekeza uvujaji uliofichwa, hurahisisha kuchukua hatua za mwongozo) lakini pia inaweza kuzipunguza ikiwa zinatumiwa kwa usahihi. Tofauti ni katika nidhamu.

Uvujaji wa data: mfano wa clairvoyant

Uvujaji wa data ni wakati mtindo huona habari wakati wa mafunzo ambayo haitakuwa nayo wakati wa utabiri halisi. Mfano "hudanganya" na habari hii, inaonekana nzuri kwenye seti ya mtihani, lakini huanguka katika uzalishaji bila habari hiyo. Dalili ya uvujaji karibu kila wakati ni sawa: nzuri sana kuwa kweli. Kabla ya kufurahi unapoona usahihi wa 99%, unapaswa kutafuta uvujaji.

Aina kuu za kuvuja ni:

1. Kuvuja kwa lengo: Kipengele ni matokeo ya lengo. Katika utabiri wa "ulioghairiwa", safu wima za "tarehe ya kughairiwa" au "kiasi cha kurejesha pesa" ni matokeo ya lengo; Watajazwa tu wakati matokeo ni wazi.

2. Uvujaji wa wakati: Kuleta habari za siku zijazo kwa wakati uliopita. Wakati wa kuhesabu "wastani wa siku 30 zilizopita", jumuisha siku baada ya siku ya utabiri, au gawanya mfululizo wa saa nasibu.

3. Uvujaji wa kuchakata kabla: Mabadiliko ya kujifunza kama vile kuongeza, kujaza, kuweka msimbo kutoka kwa data zote kabla ya kizigeu cha mafunzo/majaribio. Wastani wa data ya mtihani huingilia mafunzo.

4. Uvujaji wa safu mbili/kikundi: Safu za mtu mmoja zipo katika mafunzo na upimaji (ziara mbili za mgonjwa mmoja katika seti tofauti). Mfano hukariri mtu.

Aina ya kuvuja

Jinsi ya kuzaliwa

Jinsi ya kuzuia

uvujaji wa lengo

Safu ambayo ni matokeo ya lengo

"Je! ninayo wakati wa utabiri" mtihani

kuvuja kwa wakati

Kuleta siku zijazo kwa siku za nyuma

Mgawanyiko wa mpangilio, udhibiti wa dirisha

Inatayarisha uvujaji

Ubadilishaji wa kugawanyika kabla

Bomba, linafaa kutoka kwa mafunzo

Uvujaji wa safu mlalo zilizopangwa

Kitengo sawa katika seti mbili

Gawanya kwa kikundi (GroupKFold)

Nidhamu pekee ya kuzuia kuvuja

Suluhisho la kawaida kwa aina zote za uvujaji hupungua hadi sentensi moja: Tenga jaribio lililowekwa mapema iwezekanavyo ili kuiga siku zijazo halisi, na "usiifundishe" chochote. Katika mazoezi, hii ina maana: kwanza kugawanya, kisha kujifunza mabadiliko yote tu kutoka kwa mafunzo na kuyatumia kwenye bomba (muundo unaokusanya hatua zote katika mlolongo mmoja). Kwa kila kipengele, uliza swali "Je! nina habari hii wakati wa utabiri?" Ikiwa kuna wakati, ugawanye kwa mpangilio; Ikiwa kitengo sawa kinajirudia, gawanya kwa kikundi.

Tahadhari: Kipengele hatari zaidi cha uvujaji ni kwamba inajionyesha kama mafanikio. Mfano mbaya utazalisha matokeo duni na utaonekana; Muundo uliovuja hufanya kazi vizuri, hupendeza kila mtu, na huwekwa katika uzalishaji - hapo ndipo kuanguka huanza. Ndio maana matokeo "nzuri sana" ni sababu ya hofu, sio sherehe.

Reproducibility: kupata matokeo sawa mara mbili

Uzalishaji tena ni uwezo wa kupata matokeo sawa unapofanya uchanganuzi tena wakati mwingine, kwenye mashine nyingine. Bila hii, uchambuzi wako ni wa bahati nasibu, sio wa kisayansi. Sababu kuu na suluhisho zinazoathiri kuzaliana:

Hatua za Mwongozo: Kubadilisha mwenyewe seli katika Excel, kuhariri chati mwenyewe. Suluhisho: kuwa na kila hatua katika kanuni.

Nasibu isiyosahihishwa: Mafunzo ya kielelezo, sampuli, mgawanyiko huhusisha unasihi. Suluhisho: rekebisha mbegu nasibu (thamani ya awali ya jenereta nasibu) (random_state=42).

Mabadiliko ya matoleo: Matokeo yanaweza kubadilika wakati toleo la maktaba linabadilika. Suluhisho: rekebisha utegemezi (requirements.txt, faili ya mazingira).

Hakuna utunzaji wa kumbukumbu: Haijulikani ni data gani, msimbo gani, ni kigezo gani kilitumika. Suluhisho: udhibiti wa toleo (Git - mfumo unaohifadhi matoleo yote ya msimbo) na uundaji wa data.

"Inafanya kazi kwenye mashine yangu pekee": Suluhisho: andika mazingira, tumia vyombo (Docker) ikiwezekana.

kesi tatu ndogo

Kesi ya 1 - Uvujaji unaolengwa. Uchambuzi wa afya ulionyesha safu ya "dawa baada ya kutokwa" katika kutabiri "kama mgonjwa atakubaliwa tena." Safu hii ilijazwa tu baada ya mgonjwa kuruhusiwa. Mfano huo ulitoa 96%, katika uzalishaji 61%. Mradi wa wiki 8 ulikuwa wa takataka. Somo: uliza kila kipengele "kipo wakati wa kutabiri?"

Kesi 2 - Kutayarisha uvujaji. Timu moja iliongeza data yote na kisha kuigawanya. Maana ya data ya jaribio ilihusishwa katika kuongeza. Alama ya CV 89%, uzalishaji halisi 76%. Mafanikio ya uwongo yalitoweka nilipohamia Pipeline na kujifunza kuhusu mabadiliko kutoka kwa mafunzo pekee. Somo: gawanya kwanza, badilisha baadaye.

Kesi ya 3 - Kushindwa kuzaliana. Mchambuzi alitaka kusasisha chati aliyowasilisha kwa uongozi miezi mitatu baadaye lakini hakukumbuka jinsi alivyoitayarisha; hatua nyingi zilifanywa kwa mikono katika Excel. Matokeo hayakufaulu na uaminifu ulitikiswa. Somo: hakuna hatua za mwongozo, kila kitu kiko kwenye nambari na Git.

Violezo vinne vinavyoweza kunakiliwa

1) Ukaguzi wa kuvuja:

Jukumu lako: mkaguzi wa kuvuja. Lengo: "churn" (0/1), tarehe ya marejeleo ya utabiri: record_date. Nitakupa orodha hii ya vipengele. KWA KILA kipengele: (a) ni tokeo la lengo, (b) linapatikana kwangu wakati wa kutabiri, (c) je, muda wa saa unajumuisha siku zijazo? Weka alama kama "isiyo salama/inashuku/vuja" na uandike sababu. Vipengele: [orodha]

2) Bomba lisilovuja:

Sanidi Bomba la sklearn: kwanza gawanya treni/jaribio (iliyowekwa tabaka, mbegu=42), KISHA weka uchakataji wote (laini, kipimo, usimbaji) kwenye bomba kutoka kwa mafunzo PEKEE. Eleza kwa nini msimbo hauvuji, ni hatua gani ilifunzwa wapi.

3) Msimbo wa orodha ya uhakiki wa uzalishaji tena:

Ninataka kufanya uchambuzi wangu uweze kuzaliana tena. Pendekeza msimbo/muundo unaoongeza: (1) mbegu ngumu kwa nasibu zote, (2) matoleo ya maktaba ya kuchapisha yaliyotumiwa, (3) lebo ya tarehe/toleo kwa data na matokeo. Pia nipe orodha ya ukaguzi ili kuhakikisha kuwa hakuna hatua za mwongozo.

4) Ugawaji wa vikundi (uvujaji wa kitengo sawa):

Katika data mteja_id sawa ipo katika safu mlalo nyingi. Tengeneza mgawanyiko (GroupKFold orGroupShuffleSplit, group = customer_id) UNAOZUIA mteja yule yule kuwa katika mafunzo na majaribio. Jumuisha msimbo ili kuthibitisha kuwa hakuna wateja walio katika seti zote mbili baada ya kugawanyika.

Mwongozo dhaifu / Mwongozo thabiti

Agizo dhaifu:

Mfano wangu ulirudisha usahihi wa 98%, sivyo nzuri? Boresha msimbo.

Kusherehekea 98% huficha uvujaji. Kabla ya kuboresha, inapaswa kuulizwa ikiwa alama hii ni ya kweli au la.

Agizo lenye nguvu:

Jukumu lako: mkaguzi wa kuvuja. Mfano wangu unarudisha usahihi wa 98% kwenye seti ya jaribio, ambayo inasikika "nzuri sana kuwa kweli" kwangu. Angalia: (1) ni vipengele vyovyote vinavyotokana na lengo, (2) ni mabadiliko yaliyofanywa kabla ya kugawanywa, (3) ni kitengo sawa katika seti mbili, (4) kuna uvujaji wa wakati wowote. Orodhesha pointi zozote za kutiliwa shaka; Kuzingatia kutafuta uvujaji, si kurekebisha alama.

Hapa, alama ya juu inachukuliwa kama ishara ya kuulizwa, sio kusherehekewa.

Makosa ya kawaida

  • Kusherehekea matokeo "nzuri sana". Alama-nzuri sana-kuwa-kweli ni tahadhari ya kuvuja, si mafanikio.
  • Kujifunza mabadiliko kutoka kwa data zote kabla ya mgawanyiko. Uvujaji wa kawaida zaidi; Gawanya kwanza na bomba.
  • Kugawanya mfululizo wa saa nasibu. Mfano huona wakati ujao; Mgawanyiko wa Kronolojia ni lazima.
  • Kuacha kitengo sawa katika seti mbili. Mfano hukariri mtu; Gawanya kwa kikundi.
  • Sio kuingia kwa mikono na kuandika kwenye msimbo. Uchambuzi unakuwa hauwezi kuzaliana tena; kila kitu kinapaswa kuwa katika nambari na Git.
Kidokezo: Andika sentensi mbili "ahadi ya heshima" mwanzoni mwa mradi wako: "Sijagusa jaribio lililowekwa kwa njia yoyote kabla ya kuiona katika uzalishaji. Kila hatua iko kwenye msimbo na mbegu imerekebishwa." Ikiwa huwezi kusaini sentensi hizi mbili kwa uaminifu, matokeo yako bado si ya kutegemewa.

Kwa muhtasari

Uvujaji wa data na kutozalisha tena ni makosa mawili ya ghali zaidi ya kimya katika sayansi ya data. Kuvuja ni maono ya kielelezo ya siku zijazo na kujionyesha kama mafanikio ya uongo; Suluhisho ni kugawanya jaribio lililowekwa mapema, jifunze mabadiliko kutoka kwa mafunzo tu (bomba), uliza kila kipengele swali "Je! ninayo wakati wa utabiri" na ugawanye kwa usahihi (mtazamo wa kihistoria / kikundi). Reproducibility ni kuwa na uwezo wa kupata matokeo sawa mara mbili; suluhisho lake ni kuondoa hatua kwa mikono, kubandika mbegu, kufungia matoleo, na kuweka kila kitu kwenye Git. AI inaweza ama kuongeza au kupunguza hatari hizi; Ni nidhamu yako ndiyo inayoamua.

Jukumu la maombi

Chukua orodha ya vipengele vya muundo uliounda (au wa dhahania) na uulize kila kipengele swali "Je! nina habari hii wakati wa kutabiri?" kwa maandishi; Tafuta angalau mgombeaji mmoja aliyevuja. Kisha jaza orodha ili kufanya uchanganuzi wako uweze kuzaliana tena: je mbegu imesasishwa, kuna hatua za mwongozo, matoleo yamesajiliwa, yapo kwenye Git. Rekebisha mapungufu.

orodha ya ukaguzi

  • [ ] Je, niliuliza alama ya "nzuri sana kuwa kweli" kama tahadhari ya kuvuja?
  • [ ] Je, nilijifunza mabadiliko yote baada ya kugawanyika, kutokana tu na mafunzo?
  • [ ] Je, nimegawanya kulingana na muda/muundo wa kikundi (knolojia/KikundiKFold)?
  • [ ] Je, nimefanya unasibu wote uweze kurudiwa na mbegu zisizobadilika?
  • [ ] Je, niliondoa hatua za mwongozo na kuweka kila kitu katika msimbo na udhibiti wa toleo?