Faida:
- Uwezo wa kutoa vipengee vya maana vinavyotokana na maarifa ya kikoa na kusimba kategoria za kategoria na njia zinazofaa (moja moto, lebo, lengwa)
- Uwezo wa kuongeza vigeu vya nambari kulingana na aina ya mfano (usanifu, kuhalalisha) na epuka kuongeza kiwango kisicho cha lazima au kisicho kamili.
- Uwezo wa kuzuia kuvuja kwa kipengele kwa kujifunza mabadiliko yote baada ya mgawanyiko wa mafunzo/jaribio na kutoka kwa mafunzo pekee
Kuna msemo wa zamani katika ujifunzaji wa mashine: "Kujifunza kwa mashine inayotumika kimsingi ni uhandisi wa kipengele." Kwa sababu mafanikio ya mfano mara nyingi hutoka kwa pembejeo gani unazotoa kwa mfano, badala ya algorithm unayochagua. Uhandisi wa vipengele ni sanaa ya kutoa ishara muhimu kutoka kwa data ghafi ambayo mtindo unaweza kujifunza kutoka kwake. Akili ya Bandia ni chanzo kizuri cha mawazo katika hatua hii: unapouliza "ni vipengele vipi vinavyoweza kutolewa kutoka kwa data hii", inaorodhesha mapendekezo kadhaa. Lakini baadhi ya mapendekezo haya yanaweza kuwa ya thamani, mengine yanaweza kuwa ya bure, na mengine yanaweza kuwa hatari (kuvuja). Ni kazi yako kutatua.
Kwa nini kipengele cha uhandisi
Data ghafi mara chache huja kwa modeli katika umbo lake bora. Ingawa safu ya "tarehe ya kuzaliwa" pekee haina maana, thamani ya "umri" inayotokana nayo ni ishara kali. Unaweza kutoa sifa kama vile "siku ya juma", "mchana/usiku", "ni likizo" kutoka kwa "muhuri wa saa wa kuagiza". Unaweza kuchanganya safu wima mbili ili kutoa uwiano ("uwiano wa deni/mapato"). Hapa, uhandisi wa kipengele ni kutafsiri maarifa ya kikoa katika ishara ya hisabati; Na ndio maana haswa ni hatua inayohitaji akili ya mwanadamu zaidi.
Kubadilisha vigezo vya kategoria kuwa nambari: kuweka msimbo
Miundo kwa ujumla hufanya kazi na nambari, sio maandishi. Kubadilisha vigezo vya kategoria (kama vile jiji, rangi, aina ya bidhaa) kuwa nambari huitwa usimbaji. Njia tatu za kawaida:
Usimbaji wa motomoto moja: Hufungua safu wima tofauti yenye thamani ya 0/1 kwa kila aina. Kwa "mji", Istanbul, Ankara, Izmir nguzo zinaundwa; Ikiwa mteja anatoka Istanbul, safu wima hiyo pekee itakuwa 1. Inafaa wakati idadi ya kategoria ni ndogo; Ikiwa kuna kategoria nyingi sana hutoa mamia ya safuwima (hii inaitwa "mlipuko wa ukubwa").
Usimbaji wa lebo: Hutoa nambari kwa kila aina (Istanbul=0, Ankara=1). Ni rahisi, lakini inaweza kwa bahati mbaya kufundisha mtindo mlolongo (kama Ankara > Istanbul); kwa hivyo hutumiwa kwa tahadhari katika kategoria zisizopangwa.
Usimbaji unaolengwa: Hubadilisha kila aina na wastani wa kigezo lengwa katika kategoria hiyo. Ina nguvu sana, lakini chanzo cha hatari zaidi cha kuvuja: ikiwa utazingatia lengo la data ya mtihani, mfano huona siku zijazo. Inapaswa kuhesabiwa tu kutoka kwa data ya mafunzo na kwa uangalifu (ndani ya uthibitisho wa msalaba).
Kuongeza: idadi kubwa haizidi mfano
Baadhi ya miundo (zinazotegemea umbali, miundo ya mstari, mitandao ya neva) ni nyeti kwa ukubwa wa vigeu. Ikiwa "mapato" (0-500,000) na "umri" (0-100) yataanguka katika muundo sawa, mapato yanaweza kutawala kwa sababu tu ni kubwa. Kuongeza hurekebisha hii. Mbinu mbili za kawaida: kusanifisha (hubadilisha kila thamani kuwa "mikengeuko mingapi ya kawaida kutoka kwa wastani") na kuhalalisha (kurekebisha kwa kiwango cha juu zaidi - kubana maadili katika safu 0-1). Mitindo ya miti (miti ya maamuzi, msitu wa nasibu) haujali sana, hauhitaji kuongeza.
Tahadhari: Vigezo vya kuongeza na kusimba (wastani, mkengeuko wa kawaida, ramani ya kategoria-maana) vinapaswa kuhesabiwa tu kutoka kwa data ya mafunzo, kisha vivyo hivyo vitatumika kwa data ya jaribio. Ikiwa ni pamoja na data ya jaribio ni uvujaji na hufanya muundo wako uonekane bora kuliko vile ulivyo.
Moyo wa kuvuja katika uhandisi wa kipengele
Uzalishaji wa vipengele ndipo uvujaji wa data mara nyingi huanzia. Makosa mawili ya kawaida: Uvujaji wa muda — huzalisha kipengele kinachojumuisha maelezo ya siku zijazo (ikiwa ni pamoja na siku baada ya siku ya utabiri wakati wa kukokotoa "wastani wa siku 30 zilizopita"). Uvujaji wa takwimu — kukokotoa kipengele (wastani wa kuongeza, thamani inayolengwa ya usimbaji) kutoka kwa data yote kabla ya mgawanyo wa mafunzo/jaribio. Sheria: jifunze kila mabadiliko baada ya kufanya mgawanyiko wa treni/jaribio kwanza na kutoka kwa data ya mafunzo pekee. Njia salama zaidi ya kufanya hivyo mara kwa mara ni kutumia bomba - muundo unaokusanya mabadiliko yote katika mlolongo mmoja na kuyatumia baada ya kugawanyika.
Mbinu
kwa nini
Hatari ya kuvuja
kumbuka
Usimbaji wa moto-moja
Inaweza kubadilika na kategoria chache
chini
Hulipuka ukubwa katika kategoria nyingi
Kuweka alama kwenye lebo
Kategoria iliyopangwa
chini
Nje ya utaratibu hufundisha utaratibu mbaya
usimbaji lengwa
Aina nyingi, ishara kali
juu sana
Kutoka tu kwa elimu, katika CV
usanifishaji
Miundo ya mstari/umbali
kati
Parameta inategemea elimu tu
Kipengele cha dirisha la wakati
mfululizo wa wakati
juu
Ongeza yajayo
kesi tatu ndogo
Kesi 1 - Mali yenye thamani. Timu ya mikopo ilizalisha kipengele cha "uwiano wa deni kwa mapato" kutoka kwa safu ghafi za "mapato ya kila mwezi" na "malipo ya deni la kila mwezi". Kipengele hiki kimoja kilichotokana kiliongeza usahihi wa kielelezo kutoka 71% hadi 79%; kwa sababu ilikuwa kiwango, sio mapato kamili, ambayo yaliamua hatari. Somo: uwiano unaotokana na maarifa ya kikoa ni ishara kali.
Kesi ya 2 - Uvujaji wa usimbaji unaolengwa. Timu moja ilibadilisha "msimbo wa eneo" kuwa nambari kwa usimbaji lengwa (wastani wa kiwango cha ubadilishaji katika eneo hilo), lakini ilifanya hivyo kutoka kwa data yote kabla ya kugawanyika. Mfano huo ulitoa 94% kwenye seti ya majaribio, ikishuka hadi 68% katika uzalishaji. Wiki 6 za juhudi zilipotea. Somo: uwekaji msimbo unaolengwa unafanywa kwa uangalifu, ndani ya mafunzo tu.
Kesi ya 3 - Kuongeza kusahau. Mchanganuzi mmoja alilisha mapato (0-400,000) na umri wa mteja (18-75) katika muundo wa msingi wa umbali bila kuongeza. Mfano huo ulionekana karibu tu katika mapato, ukikandamiza athari ya umri. Wakati kuongeza iliongezwa, mgawanyiko ulikuwa na maana. Somo: kuongeza si kusahaulika katika mifano ya umbali/mstari.
Violezo vinne vinavyoweza kunakiliwa
1) Uzalishaji wa wazo la kipengele (kuondoa ni juu yako):
Jukumu lako: kipengele cha msaidizi wa uhandisi. Safu wima zangu za df: tarehe_ya_kuzaliwa, muda_wa_agizo (muhuri wa saa), mapato_tl, madeni_tl, jiji, kitengo_cha_za_zaidi. Lengo: "je mkopo utalipwa" (0/1). Pendekeza vipengele 15 vinavyoweza kuzalishwa kutoka kwa safuwima hizi; taja hatari ya kuvuja (chini / kati / juu) kwa kila moja. Weka alama kwa wazi zile zilizo na habari za siku zijazo.
2) Salama usimbaji (baada ya kugawanyika):
Andika msimbo ambao moja-moto husimba "city" na "product_category". MUHIMU: weka usimbaji tu kwa data ya mafunzo, kisha ubadilishe data ya jaribio (kwa sklearn OneHotEncoder). Eleza jinsi unavyoshughulikia kategoria isiyoonekana (shughulikia_isiyojulikana) katika elimu.
3) Ugeuzaji usiovuja kwa kutumia Bomba:
Sanidi Bomba la sklearn: tumia StandardScaler kwa safu wima za nambari, OneHotEncoder kwa safu wima za kitengo, ongeza kiainishaji mwishoni. Hakikisha mabadiliko yote yatafunzwa BAADA ya mgawanyiko wa treni/jaribio na kutokana na mafunzo pekee. Eleza msimbo na kwa nini hauvuji.
4) Kipengele cha dirisha la wakati (udhibiti wa uvujaji):
Tengeneza sifa ya "idadi ya maagizo katika siku 30 zilizopita" kwa kila mteja, lakini USIJUMUISHE data baada ya siku ya utabiri. Eleza mstari kwa mstari kwamba msimbo hauangalii katika siku zijazo. Nitatoa safu ya tarehe ya kumbukumbu.
Mwongozo dhaifu / Mwongozo thabiti
Agizo dhaifu:
Ongeza sifa nzuri kwa data hii.
"Nzuri" haijafafanuliwa, lengo haliko wazi, hakuna udhibiti wa uvujaji. AI hutoa vipengele vya nasibu, labda vinavyovuja.
Agizo lenye nguvu:
Jukumu lako: mhandisi wa kipengele. Lengo: "churn ndani ya siku 30" (0/1), makadirio ya tarehe ya marejeleo: save_date. Kuna historia ya muamala katika df.Task: Tengeneza vipengele 8, jibu swali "Je, nina taarifa hii wakati wa kutabiri" kwa KILA. Kuongeza tarehe baada ya tarehe ya kumbukumbu katika vipengele vya dirisha la saa. Andika msimbo kwa njia inayolingana na bomba itakayotekelezwa baada ya sehemu ya treni/jaribio.
Hapa, lengo, muda wa kumbukumbu na udhibiti wa uvujaji hufafanuliwa tangu mwanzo.
Makosa ya kawaida
- Kujifunza mabadiliko kutoka kwa data zote kabla ya mgawanyiko. Ikiwa kigezo cha kuongeza/encoding kinaona data ya jaribio, uvujaji hutokea.
- Matumizi ya kutojali ya usimbaji lengwa. Ni njia yenye nguvu zaidi lakini yenye kuvuja zaidi; tu kutoka kwa mafunzo, katika uthibitishaji wa msalaba.
- Kuongeza siku zijazo na kipengele cha dirisha la wakati. Ikiwa hesabu ya "siku 30 zilizopita" imeingizwa baada ya siku ya utabiri, mtindo huona siku zijazo.
- Upeo usio wa lazima katika mfano wa mti na upunguzaji usio kamili katika mfano wa mstari. Uamuzi wa kuongeza unafanywa kulingana na aina ya mfano.
- Kuongeza pendekezo la kila kipengele cha AI bila swali. Mapendekezo yanaweza kujumuisha vipengele visivyofaa na vinavyovuja.
Kidokezo: Andika swali moja kwa kila kipengele unachozalisha: "Je, ninaweza kuhesabu thamani hii kwa maelezo niliyo nayo wakati ninafanya ubashiri?" Ikiwa jibu sio wazi "ndiyo", usitumie kipengele. Nidhamu hii moja huondoa uvujaji mwingi unaohusiana na vipengele.
Kwa muhtasari
Uhandisi wa vipengele ni sanaa ya kutoa mawimbi yenye maana kutoka kwa data ghafi na mara nyingi huamua ufanisi wa muundo zaidi ya algoriti. Kategoria za usimbaji (moja moto, lebo, lengwa), kuongeza nambari (kuweka viwango, kuhalalisha) na kutoa vipengele vinavyotokana na maarifa ya kikoa ni zana za msingi. Lakini awamu hii pia ndio kiini cha uvujaji: mabadiliko yote lazima yajifunze baada ya mgawanyiko wa mafunzo/jaribio na kutoka kwa data ya mafunzo pekee. AI hutoa mawazo mengi; Ni hukumu ya kibinadamu ambayo hutofautisha thamani na hatari.
Jukumu la maombi
Chagua kigezo kinacholengwa na ubuni angalau vipengele vitano vinavyotokana na safu wima ulizo nazo. Kwa kila mmoja wao, jibu swali "ninapatikana wakati wa utabiri" kwa maandishi na uondoe angalau moja kama "hatari kubwa ya kuvuja". Kisha andika vipengele salama katika bomba la kutekelezwa baada ya kuhesabu.
orodha ya ukaguzi
- [ ] Je, nilitumia mabadiliko yote baada ya mgawanyiko wa treni/jaribio?
- [ ] Je, nilijifunza tu vigezo vya kuongeza/kusimba kutoka kwa mafunzo?
- [ ] Je, nimejibu swali la "Je! ninayo wakati wa kutabiri" kwa kila kipengele?
- [ ] Je, nimechukua tahadhari zaidi na mbinu hatarishi kama vile usimbaji lengwa?
- [ ] Je, nimeamua kupima ipasavyo aina ya mfano (mti/mstari)?