Hur lÄgkodad maskininlÀrning kan driva ansvarsfull AI

Hur lÄgkodad maskininlÀrning kan driva ansvarsfull AI


De snabba tekniska framstegen och utbredda anvĂ€ndningen av artificiell intelligens (AI)-baserade produkter och arbetsflöden pĂ„verkar mĂ„nga aspekter av mĂ€nskliga och affĂ€rsmĂ€ssiga aktiviteter inom bank, hĂ€lsovĂ„rd, reklam och mĂ„nga fler branscher. Även om noggrannheten hos AI-modeller utan tvekan Ă€r den viktigaste faktorn att ta hĂ€nsyn till nĂ€r man distribuerar AI-baserade produkter, finns det ett akut behov av att förstĂ„ hur AI kan utformas för att fungera ansvarsfullt.

Ansvarsfull AI Àr ett ramverk som alla organisationer som utvecklar programvara mÄste anvÀnda för att bygga upp kundernas förtroende för transparens, ansvarighet, rÀttvisa och sÀkerhet för alla implementerade AI-lösningar. Samtidigt Àr en nyckelaspekt för att göra AI ansvarig att ha en utvecklingspipeline som kan frÀmja reproducerbarheten av resultat och hantera linjen av data och ML-modeller.

LÄgkodad maskininlÀrning blir allt populÀrare med verktyg som PyCaret, H2O.ai och DataRobot, vilket gör att datavetare kan köra fÀrdiga mönster för funktionsteknik, datarensning, modellutveckling och statistisk prestandajÀmförelse. Men ofta Àr de saknade delarna av dessa paket mönster kring ansvarsfull AI som utvÀrderar ML-modeller för rÀttvisa, transparens, förklarabarhet, kausalitet och mer.

HÀr visar vi ett snabbt och enkelt sÀtt att integrera PyCaret med Microsoft RAI (Responsible AI) ramverk för att generera en detaljerad rapport som visar felanalys, förklarabarhet, kausalitet och kontrafakta. Den första delen Àr en kodgenomgÄng för utvecklare för att visa hur en RAI-dashboard kan byggas. Den andra delen Àr en detaljerad utvÀrdering av RAI-rapporten.

KodgenomgÄng

Först installerar vi de bibliotek som behövs. Detta kan göras pÄ din lokala dator med Python 3.6+ eller pÄ en SaaS-plattform som Google Colab.

!pip install raiwidgets
!pip install pycaret
!pip install — upgrade pandas
!pip install — upgrade numpy

Pandas och Numpy-uppgradering behövs för tillfÀllet men bör fixas inom kort. Glöm inte heller att starta om runtime om du installerar i Google Colab.

DÀrefter laddar vi data frÄn GitHub och rensar data och gör funktionsteknik med PyCaret.

import pandas as pd, numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
csv_url = ‘https://raw.githubusercontent.com/sahutkarsh/loan-prediction-analytics-vidhya/master/train.csv'
dataset_v1 = pd.read_csv (csv_url)
dataset_v1 = dataset_v1.dropna()
from pycaret.classification import *
clf_setup = setup(data = dataset_v1, target = ‘Loan_Status’,
train_size=0.8, categorical_features=[‘Gender’, ‘Married’, ‘Education’,
‘Self_Employed’, ‘Property_Area’], 
imputation_type=’simple’, categorical_imputation = ‘mode’, ignore_features=[‘Loan_ID’], fix_imbalance=True, silent=True, session_id=123)

DatauppsÀttningen Àr en simulerad lÄneansökningsdatauppsÀttning med funktioner som kön, civilstÄnd, anstÀllning, inkomst etc. för de sökande. PyCaret har en cool funktion för att göra trÀnings- och testdataramarna tillgÀngliga efter funktionsutveckling via get _config-metoden. Vi anvÀnder detta för att fÄ rensade funktioner som vi senare kommer att mata till RAI-widgeten.

X_train = get_config(variable=”X_train”).reset_index().drop([‘index’], axis=1)
y_train = get_config(variable=”y_train”).reset_index().drop([‘index’], axis=1)[‘Loan_Status’]
X_test = get_config(variable=”X_test”).reset_index().drop([‘index’], axis=1)
y_test = get_config(variable=”y_test”).reset_index().drop([‘index’], axis=1)[‘Loan_Status’]
df_train = X_train.copy()
df_train[‘LABEL’] = y_train
df_test = X_test.copy()
df_test[‘LABEL’] = y_test

Nu kör vi PyCaret för att bygga flera modeller och jÀmföra dem pÄ Recall som ett statistiskt prestandamÄtt.

top5_results = compare_models(n_select=5, sort="Recall")

VÄr toppmodell Àr en Random Forest Classifier med en Recall pÄ 0,9, som vi kan rita hÀr.

selected_model = top5_results[0]
plot_model(selected_model)

Nu kommer vi att skriva vÄra 10 rader kod för att bygga en RAI-dashboard med hjÀlp av dataramar och modeller som vi genererat frÄn PyCaret.

cat_cols = [‘Gender_Male’, ‘Married_Yes’, ‘Dependents_0’, ‘Dependents_1’, ‘Dependents_2’, ‘Dependents_3+’, ‘Education_Not Graduate’, ‘Self_Employed_Yes’, ‘Credit_History_1.0’, ‘Property_Area_Rural’, ‘Property_Area_Semiurban’, ‘Property_Area_Urban’]
from raiwidgets import ResponsibleAIDashboard
from responsibleai import RAIInsights

rai_insights = RAIInsights(selected_model, df_train, df_test, ‘LABEL’, ‘classification’,

categorical_features=cat_cols)
rai_insights.explainer.add()
rai_insights.error_analysis.add()
rai_insights.causal.add(treatment_features=[‘Credit_History_1.0’, ‘Married_Yes’])
rai_insights.counterfactual.add(total_CFs=10, desired_class=’opposite’)
rai_insights.compute()

OvanstÄende kod, Àven om den Àr ganska minimalistisk, gör mÄnga saker under huven. Det skapar insikter om RAI för klassificering och lÀgger till moduler för förklarabarhet och felanalys. Sedan görs en orsaksanalys baserad pÄ tvÄ behandlingsfunktioner inklusive kredithistorik och civilstÄnd. Kontrafaktisk analys görs ocksÄ för 10 scenarier. LÄt oss nu skapa instrumentpanelen.

ResponsibleAIDashboard(rai_insights)

OvanstÄende kod kommer att starta instrumentpanelen pÄ en port som 5000. PÄ en lokal maskin kan du direkt gÄ till http://localhost:5000 och se instrumentpanelen. PÄ Google Colab mÄste du göra ett enkelt knep för att se den hÀr instrumentpanelen.

from google.colab.output import eval_js

print(eval_js(“google.colab.kernel.proxyPort(5000)”))

Detta ger dig en URL för att se RAI-instrumentpanelen. Du kan se nÄgra komponenter i RAI-instrumentpanelen nedan. HÀr Àr nÄgra viktiga resultat av denna analys som genererades automatiskt för att komplettera AutoML-analysen som PyCaret gjort.

Resultat: Ansvarig AI-rapport

: Vi ser att felfrekvensen Àr hög för fastighetsomrÄden pÄ landsbygden och vÄr modell har en negativ bias för denna funktion.

: Vi ser att egenskapens betydelse förblir densamma i bĂ„da kohorterna – all data (blĂ„) och fastighetsomrĂ„de landsbygd (orange). Vi ser för den orange Ă„rskullen att fastighetsomrĂ„det har en större inverkan men Ă€ndĂ„ Ă€r kredithistorik den första faktorn.

: Vi ser att kredithistorik ocksĂ„ Ă€r en viktig funktion för en individuell förutsĂ€gelse – rad #20.

: Vi ser att för samma rad #20 kan ett beslut frÄn N till Y vara möjligt (baserat pÄ data) om kredithistorik och lÄnebelopp Àndras.

: Vi övervÀger orsaksanalys för att studera effekten av tvÄ behandlingar, kredithistorik och anstÀllningsstatus, och ser att kredithistorik har en större direkt inverkan pÄ godkÀnnandet.

En ansvarsfull AI-analysrapport som visar modellfelsanalys, förklarabarhet, kausala slutledningar och kontrafakta kan tillföra ett stort vĂ€rde till traditionella statistiska mĂ€tvĂ€rden för precisionsĂ„terkallelse som vi vanligtvis anvĂ€nder som hĂ€vstĂ€nger för att utvĂ€rdera modeller. Med moderna verktyg som PyCaret och RAI dashboards Ă€r det enkelt att bygga dessa rapporter. Dessa rapporter kan utvecklas med andra verktyg – nyckeln Ă€r att datavetare mĂ„ste utvĂ€rdera modeller för dessa mönster pĂ„ ansvarsfull AI för att se till att deras modeller Ă€r etiska och korrekta.

.

DataDecisionMakers

VĂ€lkommen till VentureBeat-communityt!

DataDecisionMakers Àr dÀr experter, inklusive tekniska personer som arbetar med data, kan dela datarelaterade insikter och innovation.

Om du vill lĂ€sa om banbrytande idĂ©er och aktuell information, bĂ€sta praxis och framtiden för data- och datateknik, gĂ„ med oss ​​pĂ„ DataDecisionMakers.

Du kan till och med övervÀga att bidra med en egen artikel!

LÀs mer frÄn DataDecisionMakers