Ci si metterebbe in dubbio, perché dovrei preoccuparmi di ciò che sta accadendo dietro le quinte fintanto che il mio modello è in grado di fornire risultati advert alta precisione per me?
In questo articolo, ci immergiamo in profondità nell’aspetto del ragionamento e proviamo a rispondere alla domanda sopra. Ancora più importante, capiremo come può aiutarci a costruire maggiori approfondimenti sugli schemi di frode in evoluzione.
IL AI spiegabile (Xai) è in circolazione da un po ‘di tempo, ma non ha davvero creato un brusio nel settore. Ora, con l’arrivo del modello di ragionamento DeepSeek-R1, c’è un brusio nel settore per i modelli che non solo possono fare previsioni altamente correct, ma anche fornire un ragionamento su come sono state fatte queste previsioni.
La ricerca di XAI ha dimostrato che un modello che può identificare accuratamente le transazioni fraudolente potrebbe non essere necessariamente accurato in termini di ragionamento. XAI fornisce agli utenti di sistema l’intuizione e la fiducia che non solo il modello funziona come previsto, ma anche il ragionamento per le decisioni è accurato. Nelle sezioni successive, useremo semplici tecniche di XAI e apprendimento senza supervisione per consolidare il nostro approccio.
Metodologia
Useremmo un pubblico disponibile set di dati di frode Con attributi anonimi di funzionalità e costruire un semplice modello di classificazione che ci fornisce una precisione decente per rilevare le frodi. Il modello verrà utilizzato ulteriormente per il calcolo dell’importanza della caratteristica che guida le decisioni di frode.
Successivamente, usiamo Spiegazioni additive di Shapley (Shap) per determinare l’importanza delle caratteristiche che guidano le nostre decisioni di frode e transazioni non frode. AWS SageMaker Spiegare il servizio utilizza anche lo stesso concetto per la spiegazione. Ecco un bell’aspetto carta Per gli utenti che desiderano capire di più al riguardo.
Infine, una volta che abbiamo i valori della forma per le nostre caratteristiche, useremmo una tecnica di apprendimento senza supervisione per classificare i diversi tipi di transazioni di frode nel nostro set di dati. L’thought del clustering ci dà i modelli di frode nel nostro set di dati e le aziende possono usarlo per monitorare e comprendere facilmente questi schemi.
Sperimentare e risultati
Iniziamo installando librerie come Scikit-Be taught, Shap e Panda.
Verifichiamo eventuali valori mancanti nel nostro set di dati e proviamo a comprendere la distribuzione dei dati. Il set di dati di frode dovrebbe essere sbilanciato, il che significa che le transazioni normali dovrebbero superare di gran lunga transazioni fraudolente. Il nostro set di dati contiene lo 0,2% delle transazioni identificate come frode e il resto non è frode. In questo esempio, 0 indica una transazione normale e 1 indica una transazione fraudolenta.
Di seguito, abbiamo un semplice classificatore casuale della foresta che cerca di prevedere le transazioni fraudolente con precisione del 93%. L’accuratezza è ragionevole per noi iniziare il nostro processo di spiegazione e determinare i pesi delle caratteristiche utilizzati principalmente per identificare la frode.
from sklearn.ensemble import RandomForestClassifier
options = df.columns(:-1)
X = df(options)
y = df('Class')
X = X.drop('Time',axis=1)
options = X.columns
mannequin = RandomForestClassifier(n_estimators=5)
X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.3,random_state=287)
mannequin.match(X_train, y_train)
y_pred = mannequin.predict(X_test)
cm = confusion_matrix(y_test,y_pred)
print(classification_report(y_test,y_pred))
precision recall f1-score assist
0 1.00 1.00 1.00 85297
1 0.93 0.75 0.83 146
accuracy 1.00 85443
macro avg 0.97 0.88 0.92 85443
weighted avg 1.00 1.00 1.00 85443
Successivamente, estraiamo valori a forma per tutte le transazioni fraudolente nel set di dati. Applicheremo un algoritmo di clustering senza supervisione sui valori di forma per generalizzare diversi motivi sottostanti di frode. Si prega di notare che il processo per determinare i valori della forma richiederà molto tempo.
import shap
explainer = shap.TreeExplainer(mannequin)
shap_values = explainer(X)
Usiamo tecniche di riduzione della dimensionalità come T-SNE per visualizzare dati dimensionali più elevati. Passiamo i risultati agli algoritmi di clustering come Okay-Means Per identificare i modelli di frode nel nostro set di dati. Il punteggio di silhouette e la tecnica del gomito vengono utilizzati per identificare il valore ottimale di okay.
X = fraud_shap_values
from sklearn.cluster import KMeans
from sklearn.manifold import TSNE
tsne = TSNE(n_components=2, random_state=42)
X_tsne = tsne.fit_transform(X)
tsne.kl_divergence_
common_params = {
"n_init": "auto",
"random_state": 42,
}
from sklearn.metrics import silhouette_score
sil = ()
kmax = 10
# dissimilarity wouldn't be outlined for a single cluster, thus, minimal variety of clusters must be 2
for okay in vary(2, kmax+1):
kmeans = KMeans(n_clusters = okay, **common_params).match(X_tsne)
labels = kmeans.labels_
sil.append(silhouette_score(X_tsne, labels, metric="euclidean"))
plt.plot(vary(2, kmax+1),sil)
plt.xlabel("Okay")
plt.ylabel("Silhouette Rating")
plt.title("Elbow methodology")
plt.present()
y_pred = KMeans(n_clusters=okay, **common_params).fit_predict(X_tsne)
plt.scatter(X_tsne(:, 0), X_tsne(:, 1), c=y_pred)
plt.title("Optimum Variety of Clusters")
plt.present()
Infine, nell’ultimo passaggio del nostro processo, dobbiamo identificare le funzionalità che hanno pesi massimi per le frodi nel nostro set di dati. Tracciamo un grafico a barre con i primi cinque pesi massimi per ogni categoria di frode.
for i in vary(okay):
cluster_data = explanation_df(explanation_df('Class') == i)
cluster_data = cluster_data.drop('Class',axis=1)
cluster_data = cluster_data.drop('Quantity',axis=1)
shap.summary_plot(cluster_data.to_numpy(),cluster_data,plot_type="bar",feature_names=options, max_display=5)
Il diagramma di riepilogo a forma evidenzia vari attributi che contribuiscono a diversi tipi di frode nel nostro set di dati.
Conclusione
Sopra, abbiamo mostrato due tipi di transazioni di frode nel nostro set di dati. Se osserviamo attentamente, la maggior parte dei primi cinque fattori che contribuiscono ai due tipi di frode sono diversi. Gli utenti aziendali possono facilmente interpretare i grafici e comprendere la combinazione di funzionalità che causano diversi tipi di frode.
Il clustering dei valori della forma ci aiuta a identificare vari modelli di frode nel sistema. Senza capacità di ragionamento, sarebbe difficile per gli utenti finali comprendere eventuali modelli di frode nuovi o in evoluzione o perché una determinata transazione è fraudolenta.
Spero che vi sia piaciuto l’articolo e che ti abbia aiutato a imparare qualcosa di nuovo!