Parandage äriotsuseid kolme masinõppe tõlgendatavuse tööriista abil

Masinõppe tõlgendatavus on väga kuum uurimisteema ning igal nädalal avaldatakse selleteemalisi uusi teaduslikke artikleid ja artikleid. See artikkel tutvustab kolme teineteist täiendavat tööriista, mis katavad suurema osa meie masinõppe tõlgendatavusvajadustest ManoManos. Aitame iga päev enam kui miljonil eurooplasel leida oma 3 miljoni DIY ja aiandustoodete kataloogist seda, mida nad vajavad:

  1. Funktsiooni olulisus: milliseid funktsioone mudel kõige rohkem kasutab?
  2. Osalise sõltuvuse graafik: kuidas mudel konkreetset muutujat kasutab?
  3. Funktsiooni panus: miks tegi mudel selle konkreetse ennustuse?
xkcd

Miks peaksime oma masinõppe mudeleid tõlgendama?

  • Mõista oma ettevõtet: millised tegurid mõjutavad veebisaidi konversioonimäära? Milline on saatmishinna mõju sellele?
  • Looge ärikaaslastega usaldus: miks see müügiprognoos on nii kõrge? Kuna toodet müüdi eelmisel nädalal 157 korda ja selle kategooria hooajalisus kasvab.
  • Probleemi lahendamiseks võtke asjakohaseid meetmeid: miks see klient tõenäoliselt kipub? Sest tal olid eelmisel kuul kvaliteediprobleemid.
  • Siluge / täiustage mudel: miks on see müügi prognoosimise prognoos nii kõrge? Tootmise andmestikus puuduvad väärtused. Miks me nii palju ennustasime? Selle toote müük oli madal, kuna see oli otsas ja me polnud seda märganud.
Ennustav jõud vs tõlgendatavuse dilemma (© ManoMano)

Kasutusjuhtum: ümberarvestuskursi modelleerimine gradiendi suurendamise puude abil

Kolme tööriista illustreerimiseks keskendume toote muundamise määra modelleerimisele. Meie koolitusandmete komplekt näeb välja järgmine:

Proovime toote konversioonimäära ennustada konkreetsel päeval, sõltuvalt tootepõhistest omadustest (hind, hinnangud, tarneaeg jne) ja nädalapäevast. Järgneva analüüsi lihtsustamiseks valime oma andmestikust kunstlikult valimi, et keskmine konversioonimäär oleks 10%.

Me kasutame ülivõimsat ansamblimudelit LightGBM, mis kasutab puid. Seda tööriista kasutatakse laialdaselt Data Science võistlustel.

Funktsiooni tähtsus

Funktsiooni tähtsus on tööriist, mis võimaldab arvutada ja kiiresti visualiseerida, kui kasulik on meie mudeli iga funktsioon. Seda tööriista kasutatakse tavaliselt ansamblimudelites nagu Random Forest või Gradient Boosting Trees. Mida rohkem kasutatakse funktsiooni otsustuspuudega peamiste otsuste tegemisel, seda suurem on selle suhteline tähtsus. Funktsiooni olulisuse arvutamise üksikasjade kohta saate seda ajaveebi postitust. Visualiseerime funktsiooni olulisuse graafiku meie ennustava mudeli jaoks:

Selle tulpdiagrammi kohaselt on konversioonimäärade ennustamiseks kõige olulisemad omadused toote hind, saatmishind, hinnangud ja tarneaeg. See langeb kokku meie äriintegatsioonidega, mis on suurepärane.

Puuduvate väärtuste mõju

Proovime mõnda muud seadistust, kujutame ette, et meil on andmete kvaliteediprobleem ja mingil põhjusel puudus 90% hinnaväärtustest. Pärast mudeli ümberõpet on siin järgmine:

Võiksime eeldada, et hind ei ole oluline omadus, mis on täiesti vale. Pigem peaksime oma mudeli parendamiseks kulutama aega andmete kvaliteedi parandamiseks. Muide, puuduvad väärtused võivad sisaldada ka teavet. Näiteks tähendab puuduva keskmise hinde olemasolu lihtsalt seda, et reitinguid pole ja toode pole populaarne ega uus.

Korreleeritud muutujate mõju

Lisageme kolm korrelatiivset (ja mürarikast) hinnafunktsiooni ja vaatame, mis juhtub:

Siin langes meie funktsiooni “hind” tähtsus 38% -lt 24% -ni. Selle muutuja olulisus jaotati selle korreleeruvate muutujate vahel. Lisaks suurendab mürarikaste funktsioonide lisamine mälu ja protsessori kasutamist ning suurendab ületalitluse riski. Seetõttu ei pruugi selle tööriista oluline funktsioon olla vajalik funktsioon.

Funktsiooni olulisuse plussid ja miinused

  • (+) Rakendamine on väga lihtne, see on paar rida koodi
  • (+) Annab kiiresti signaali kohta hea ülevaate
  • (+) Tõhus vahend andmete kvaliteediprobleemide tuvastamiseks koolitusandmete komplektis
  • (-) Tunnuste korrelatsioonide suhtes tundlik
  • (-) tundlik puuduvate väärtuste suhtes
  • (-) Ei anna funktsiooni ja sihtfunktsiooni vahelist seost (meie näites teame, et hind on eesmärgiga väga korrelatsioonis, kuid me ei tea, mis suunas)

Osalise sõltuvuse krundid

Osalise sõltuvuse graafikud on kasulikud, et visualiseerida objekti mõju ennustatavale sihtmärgile, kõrvaldades kõigi teiste tunnuste väärtused. Selline tööriist aitab mõista seost eesmärgi ja funktsiooni vahel, kõik muud asjad on võrdsed. Matemaatilise täieliku demonstratsiooni leiate peatükist Statistilise õppe elemendid. Osalise sõltuvuse graafikuid saab kasutada iga masinõppe mudeliga. Soovitame kasutada väga täielikku PDPBox python paketti.

Osalise sõltuvuse illustreerimiseks toome reaalse elu näite meie kasutusjuhtumi kohta. Oletame, et ettevõtete omanikud tahavad teada saatmishindade mõju ümberarvestuskursile. Teades, et saatmishind on toote hinnaga väga korrelatsioonis, alustame funktsiooni shipping_ratio arvutamisest, mis on toote saatmishinna ja selle koguhinna suhe:

Teeme ühe muutujaga analüüsi, arvutades keskmise konversioonimäära välja tarne_ratio kanali abil:

Saadud graafik on üsna selge: ümberarvestuskurss on positiivses korrelatsioonis suhte_laadimisfunktsiooniga! Kas peaksime suhtlema ettevõtete omanikega ja soovitama neil tõsta kõigi meie toodete saatmishindu, et muuta ümberarvestuskurssi? Muidugi mitte, sest korrelatsioon ei tähenda põhjuslikku seost. Teeme osalise sõltuvuse analüüsi samast muutujast ja jälgime erinevust:

Ootuspäraselt ja kui võtame arvesse kõiki muid ennustava mudeli kasutatud funktsioone, on ship_ratio funktsioon negatiivse korrelatsiooniga ennustatud konversioonimääraga. Pange tähele, et me ei näe ikka veel tõelist põhjuslikku seost, kuid korrelatsioon on muudest funktsioonidest parandatud.

Osalise sõltuvuse kruntide plussid ja miinused

  • (+) Näitab funktsiooni ja meie huvipakkuva muutuja vahelist seost
  • (+) Võimaldab teil näha funktsiooni korreleerimata mõju teisele, võrreldes tavalise ühevariandilise analüüsiga
  • (-) Aeganõudev suurtes andmekogumites
  • (-) Piiratud kahemõõtmeliste kruntidega
  • (-) Tunnuste korrelatsioonide suhtes tundlik

Funktsiooni panus

Funktsiooni panus arvutab iga funktsiooni mõju antud ennustusele. See annab mikroprognoosi igast ennustusest. Nagu osalise sõltuvuse graafikud, saab funktsiooni panust arvutada sõltumata kasutatavast masinõppe mudelist. Sellele blogipostitusele saate viidata, kui soovite teada, kuidas seda Random Forestsi jaoks arvutatakse. Ennustusfunktsioon LightGBM pakub parameetrit nende otsearvutamiseks. Ennustagem üks ManoMano kõige populaarsemaid tooteid - Makita külvik - ja jälgige iga funktsiooni panust:

Sellel tootel on palju häid hinnanguid (644 hinnangut, keskmise väärtusega 4,69 / 5). Seetõttu on reitingute arvu panus ennustatud ümberarvestuskurssi + 12%. Selle hind (167,99 €) on aga keskmisest kõrgem. Kallimate toodete konversioonimäär on tavaliselt madalam. Seetõttu on selle panus prognoositavasse ümberarvestuskurssi -7,5%. Pange tähele, et sissemaksete summa on võrdne ennustatud ümberarvestuskursiga (peame summale lisama ka pealtkuulamise).

Saame seda protseduuri korrata mõne teise toote puhul ja täheldada erinevusi:

Isegi kui selle toote ennustatud ümberarvestuskurss sarnaneb varasema Makita külviku omaga, on sellel veel üks „profiil”: see on palju odavam (34,2 €) ja seda hinnatakse hästi, kuid saatmisaeg ja hind on hoiatavad (6,9 €, kui saatmiskulud on 8 päeva).

Nagu kaks eelmist meetodit, on funktsioonide panus tundlik tunnuste korrelatsioonide suhtes: kui toidate mudelit kahe väga korrelatiivse tunnusega, jagatakse ennustuspanus kunstlikult kahega.

Funktsioonide panuse plussid ja miinused

  • (+) Ennustuse mikrotunnus kui funktsiooni panuste summa
  • (+) Aitab uurida ennustusi, et ennetavalt tuvastada mudeleid või andmete kvaliteediprobleeme
  • (+) Suurendage usaldust ettevõtete omanikega, selgitades neile, kuidas algoritm käitub
  • (+) Luba ettekirjutatud modelleerimine (vs ennustav modelleerimine): selgitamine, miks klient võib nuriseda, aitab õigeid toiminguid teha
  • (-) Tunnuste korrelatsioonide suhtes tundlik

Järeldused

Oleme esitanud kolm tööriista, mis katavad suurema osa meie tõlgendatavuse vajadustest ManoManos. Mõned hoiatused, kui kasutate neid karbist väljas:

  • Masinaõppe tõlgendatavuse jaoks on häiritud tugevalt korreleeruvad omadused. Enne oma mudeli tõlgendamist peate neist lahti saama.
  • Proovida tõlgendada väga kehva ennustava jõudlusega mudeleid (nt 0,51 AUC) pole mõtet. Tõlgenduse kasulikkus on otseselt seotud mudeli püütud ennustava signaaliga.

Pidage meeles, et on olemas ka muid tõlgendatavusvahendeid (LIME, Shapley väärtused, ICE graafikud jne). Nende tööriistade kohta lisateabe ja matemaatiliste üksikasjade kohta lugege Christoph Molnari täielikku juhendit.

Loodame, et see artikkel on teile kasulik ja tõlgendatavusega seotud probleemid ei ole võimsate masinõppevõtete kasutamisel enam probleemiks!

Kirjutanud Jacques Peeters ja Romain Ayres.

Tänusõnad

Alexandre Cazé, Yohan Grember, Chloé Martinot, Marin De Beauchamp, Bryce Tichit, Raphaël Siméon, Thomas Charuel, Louis Pery, Cyril Auberger, Matthieu Cornec ja kõik meie suurepärased kolleegid ManoMano-s.

Liitu meiega

Otsime ManoManos uusi kolleege, tutvuge meie tööpakkumistega!