Manuale d'Uso del Servizio di Spiegazione con Alibi Anchors
Introduzione
Questo servizio consente di generare spiegazioni locali per modelli di classificazione tabellari utilizzando il metodo AnchorTabular della libreria alibi-explain. Il servizio è progettato per funzionare con modelli compatibili con l'interfaccia scikit-learn e con dataset tabellari.
Funzionalità del Servizio
- Generazione di spiegazioni interpretabili basate su regole (ancore) per le predizioni di modelli.
- Supporto per modelli scikit-learn o compatibili con metodo
predict. - Possibilità di personalizzare il comportamento dell’explainer e della funzione di
fit. - Gestione automatica di feature numeriche e categoriche, inclusa la discretizzazione per percentile.
- Salvataggio del modello
AnchorTabularaddestrato insieme al modello originale.
Parametri
Il servizio accetta i seguenti parametri:
--labelCol: (obbligatorio) nome della colonna target.--disc_perc: (facoltativo) percentili per la discretizzazione, es.(25,50,75)(default).--direct_args_to_explainer: dizionario JSON con argomenti da passare direttamente al costruttoreAnchorTabular. Consulta la documentazione ufficiale per tutti i parametri disponibili: https://docs.seldon.io/projects/alibi/en/latest/api/alibi.explainers.html#alibi.explainers.AnchorTabular--direct_args_to_explainer_fit_function: dizionario JSON con argomenti da passare direttamente al metodo.fit()dell’explainer. Parametri disponibili descritti qui: https://docs.seldon.io/projects/alibi/en/latest/api/alibi.explainers.html#alibi.explainers.AnchorTabular.fit
Input e Output
Input
- Dataset tabellare: deve essere fornito in formato
pandas.DataFrameo equivalente. -
Modello di input: un classificatore compatibile con l'interfaccia
scikit-learn. Deve: -
implementare il metodo
.predict(); - restituire etichette discrete (non probabilità);
- avere l'attributo
feature_names_in_(tipicamente disponibile se addestrato con un DataFrame Pandas). Il modello può essere: - un classificatore
scikit-learn(es.RandomForestClassifier,LogisticRegression, ecc.); - una pipeline scikit-learn;
- un modello di librerie compatibili con scikit-learn (es.
XGBoost,LightGBM,CatBoost) purché rispettino la stessa interfaccia. Sono sicuramente compatibili i modelli generati tramite il servizio di addestramentosklearngià presente sulla piattaforma del Sistema Data Analytics.
Output
- Explainer salvato: un modello
alibi-explainnel formato supportato dal Sistema Data Analytics, contenente sia l'explainer addestrato sia il modello da spiegare.
Esempio di Utilizzo
Per utilizzare il servizio, è sufficiente configurare i parametri richiesti e caricare i file necessari tramite l'interfaccia del Sistema Data Analytics. Di seguito un esempio pratico:
Esempio di configurazione
- Dataset di input:
credit_default.csv - Modello di input:
random_forest_credit.pkl(addestrato con il servizio di training sklearn del Sistema Data Analytics) - Parametri:
{
"labelCol": "default",
"disc_perc": "(25,50,75)",
"direct_args_to_explainer": {
"batch_size": 100
},
"direct_args_to_explainer_fit_function": {
"beam_size": 10
}
}
Una volta configurati questi elementi, è sufficiente salvare e avviare la BDA application. Il servizio restituirà un modello alibi-explain con cui è possibile generare spiegazioni locali delle predizioni.