LIME: paikalliset tulkittavat selitykset
lime.tabular.LimeTabularExplainer, syötteen perturbointi, paikallinen lineaarinen approksimaatio.
LIME: paikalliset tulkittavat selitykset on ilmainen Oppikaa tekoälyä Pythonilla-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Oppikaa tekoälyä Pythonilla-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Oppikaa tekoälyä Pythonilla-kurssilla on yhteensä 4 oppituntia.
Mikä LIME on
LIME (Local Interpretable Model-agnostic Explanations) selittää yksittäisen ennusteen sovittamalla yksinkertaisen, tulkittavan mallin (kuten lineaarisen regression) monimutkaisen mallin toimintaan kyseisen tapauksen ympärille muodostetussa pienessä lähialueessa.
Paikallinen, ei kokonaisvaltainen
Musta laatikko -malli voi olla kokonaisuutena erittäin epälineaarinen, mutta yhden pisteen lähellä se on likimäärin lineaarinen. LIME hyödyntää tätä: se ei selitä koko mallia, vaan ainoastaan sen toimintaa paikallisesti tarkasteltavan tapauksen ympärillä.
Miten LIME toimii
LIME muuttaa tapausta hieman luodakseen monia lähialueen näytteitä, pyytää mustaa laatikkoa luokittelemaan ne, painottaa näytteitä niiden alkuperäiseen tapaukseen olevan etäisyyden perusteella ja sovittaa sitten tulkittavan korvaavan mallin. Korvaavan mallin kertoimista muodostetaan selitys.
Malliriippumaton
Koska LIME kutsuu vain mallin ennustefunktiota, se toimii minkä tahansa luokittimen tai regressiomallin kanssa: neuroverkkojen, gradienttitehostuksen ja jopa ulkoisen API:n kanssa. Se käsittelee mallia mustana laatikkona.
LimeTabularExplainer
Taulukkomuotoista dataa varten LimeTabularExplainer rakennetaan opetusaineistosta ja piirteiden nimistä. Se käyttää opetusaineiston jakaumaa realististen muunnelmien luomiseen.
from lime.lime_tabular import LimeTabularExplainer
explainer = LimeTabularExplainer(
training_data=X_train.values,
feature_names=X_train.columns.tolist(),
class_names=["denied", "approved"],
mode="classification",
)explain_instance
Yhden rivin selittämiseksi kutsukaa explain_instance-metodia rivin ja mallin predict_proba-funktion kanssa. LIME tekee muunnelmia kyseisen rivin ympärillä ja sovittaa paikallisen korvaavan mallin.
exp = explainer.explain_instance(
data_row=X_test.values[0],
predict_fn=model.predict_proba,
num_features=5,
)predict_proba, ei predict
Luokittelussa LIME tarvitsee todennäköisyyksiä, ei kovia luokkia, koska korvaava malli sovitetaan todennäköisyyspintaan. Välittäkää aina model.predict_proba (tai mikä tahansa funktio, joka palauttaa luokkien todennäköisyydet).
num_features-parametri
num_features rajoittaa selityksessä näkyvien piirteiden määrää. Pienempi määrä tuottaa yksinkertaisemman ja helpommin ymmärrettävän selityksen, joka korostaa vain vahvimpia paikallisia vaikuttajia.
Piirteiden painojen tulkitseminen
exp.as_list() palauttaa selityksen (piirteen ehto, paino) -pareina. Positiivinen paino ohjasi ennustetta kohti ennustettua luokkaa, kun taas negatiivinen paino ohjasi sitä poispäin.
for feature, weight in exp.as_list():
print(feature, round(weight, 3))
# income > 50000 0.21
# debt_ratio > 0.4 -0.18Selityksen visualisointi
LIME voi esittää selityksen vuorovaikutteisena kaaviona tai muistikirjanäkymänä, jossa vaikutuspalkit ja ennustetut todennäköisyydet näkyvät rinnakkain.
exp.show_in_notebook(show_table=True)
# or
fig = exp.as_pyplot_figure()LIME ja SHAP
Molemmat selittävät yksittäisiä ennusteita, mutta niiden välillä on eroja:
- SHAP tarjoaa vahvat teoreettiset takuut (additiivisuus ja yhdenmukaisuus) sekä kokonaisnäkymän
- LIME on nopeampi omaksua, malliriippumaton ja intuitiivinen, mutta sen paikallinen korvaava malli on likimääräinen ja voi vaihdella muunnelmien satunnaisuuden mukaan
Pikatesti
Testaa tietosi LIMEsta.
Kertaus
Opitte paikallisia selityksiä LIMEn avulla:
- LimeTabularExplainer rakennetaan opetusaineistosta ja piirteiden nimistä
explain_instancekäyttäämodel.predict_proba-funktiota paikallisen korvaavan mallin sovittamiseen- num_features määrittää selityksen koon
as_list()palauttaa piirteiden etumerkilliset painot- LIME on malliriippumaton ja paikallinen, joten se täydentää SHAPia
Opi Python tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 53
- Oppitunnit
- 225
Usein kysytyt kysymykset
Onko oppitunti ”LIME: paikalliset tulkittavat selitykset” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Oppikaa tekoälyä Pythonilla-oppimispolun 3 oppituntia, myös oppitunnin “LIME: paikalliset tulkittavat selitykset”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppikaa tekoälyä Pythonilla-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”LIME: paikalliset tulkittavat selitykset”?
lime.tabular.LimeTabularExplainer, syötteen perturbointi, paikallinen lineaarinen approksimaatio. Harjoittelet Oppikaa tekoälyä Pythonilla-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Oppikaa tekoälyä Pythonilla-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Oppikaa tekoälyä Pythonilla-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.
Kuinka kauan ”LIME: paikalliset tulkittavat selitykset”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Oppikaa tekoälyä Pythonilla-oppitunnilla?
Kyllä. Jokainen Oppikaa tekoälyä Pythonilla-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Vinoumien tunnistaminen ML-malleissa
- SHAP-arvot mallien selitettävyyteen
- LIME: paikalliset tulkittavat selitykset
- Tekoälyn etiikka ja hallintakehykset