Code Monkey home page Code Monkey logo

explainable-ai's Introduction

Explainable-AI

Aplicação de técnicas de Explainable AI (XAI)

O notebook xai.ipynb contém diversos experimentos de XAI para o problema de classificação de doença cardíaca.

Os experimentos contém com os seguintes algoritmos:

  • Feature Importance
  • LIME
  • Anchor
  • SHAP
  • Partial Dependence Plot (PDP)
  • Accumulated Local Effects Plot (ALE)
  • Counterfactual

Como executar o projeto

git clone https://github.com/miltongneto/Explainable-AI/
cd Explainable-AI
pip install -r requirements.txt
jupyter notebook 

Também é possível ver os experimentos através do arquivo HTML (xai.html).

Libs utilizadas para XAI

Dataset

A base de dados com informações de doenças cardíacas está disponível no repositório do UCI Machine Learning (https://archive.ics.uci.edu/ml/datasets/heart+disease). O problema foi abordado como classificação binária, realizando a predição se apresenta a doença ou não. As features são:

  • age - age
  • sex - sex (1 = male; 0 = female)
  • cp - chest pain type (4 values: 1 = typical angina; 2 = atypical angina; 3 = non-anginal pain; 4 = asymptomatic)
  • trestbps - resting blood pressure
  • chol - serum cholestoral in mg/dl
  • fbs - fasting blood sugar > 120 mg/dl (1 = true; 0 = false)
  • restecg - resting electrocardiographic results (values 0,1,2)
  • thalach - maximum heart rate achieved
  • exang - exercise induced angina (1 = yes; 0 = no)
  • oldpeak - ST depression induced by exercise relative to rest
  • slope - the slope of the peak exercise ST segment (1 = upsloping; 2 = flat; 3 = downsloping)
  • ca - number of major vessels (0-3) colored by flourosopy
  • thal - 3 = normal; 6 = fixed defect; 7 = reversable defect

Modelagem

O objetivo deste projeto não está na performance do classificador, mas sim em sua interpretação e em explicar suas decisões. Ainda assim foram realizados devidas separações do dataset em conjuntos de treino, validação e teste, e também aplicada as métricas de avaliação. Os modelos foram o Random Forest do scikit-learn e uma rede neural artificial do Keras.

Resultados

Resultados obtidos com a aplicação de cada técnica de XAI. No notebook há mais exemplos, explicações e comentários.

Feature Importance

Feature Importance

LIME

LIME

Anchor

Anchor

SHAP

Global:

SHAP Global

Local:

SHAP Local

Partial Dependence Plot (PDP)

1 feature:
(2 exemplos)

PDP 1 variable

2 features:

PDF 2 variables

Accumulated Local Effects Plot (ALE)

Counterfactual

Counterfactual

explainable-ai's People

Contributors

miltongneto avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.