Giter VIP home page Giter VIP logo

epfl-ml4ed / evaluating-explainers Goto Github PK

View Code? Open in Web Editor NEW
13.0 1.0 2.0 6.3 MB

Comparing 5 different XAI techniques (LIME, PermSHAP, KernelSHAP, DiCE, CEM) through quantitative metrics. Published at EDM 2022.

Home Page: https://arxiv.org/pdf/2207.00551.pdf

License: MIT License

Python 35.56% Jupyter Notebook 3.50% PureBasic 60.94%
deep-learning explainable-ai mooc counterfactual-explanations lime shap

evaluating-explainers's Introduction

evaluating-explainers

This repository is the official implementation of the EDM 2022 paper entitled "Evaluating the Explainers: A Comparison of Explainability Techniques for Black-Box Success Prediction in MOOCs" written by Vinitra Swamy, Bahar Radmehr, Natasa Krco, Mirko Marras, and Tanja Käser.

Experiments are located in scripts/, corresponding directly to the experimental methodology mentioned in the paper.

Project overview

We implement five state-of-the-art methodologies for explaining black-box machine learning models (LIME, PermutationSHAP, KernelSHAP, DiCE, CEM) on the downstream task of student performance prediction for five massive open online courses. Our experiments demonstrate that the families of explainers do not agree with each other on feature importance for the same Bidirectional LSTM models with the same representative set of students.

We use Principal Component Analysis, Jensen-Shannon distance, and Spearman's rank-order correlation to quantitatively cross-examine explanations across methods and courses. Our results come to the concerning conclusion that the choice of explainer is an important decision and is in fact paramount to the interpretation of the predictive results, even more so than the course the model is trained on. This project started in the ML4ED laboratory at EPFL in May 2021, and will be featured at EDM 2022 at Durham University.

Usage guide

  1. Install relevant dependencies with pip install -r requirements.txt.

  2. Extract relevant features sets (BouroujeniEtAl, MarrasEtAl, LalleConati, and ChenCui) through the ML4ED lab's EDM 2021 contribution on benchmarks for feature predictive power. Place the results of these feature extraction scripts in data/. A toy course example of extracted features is included in the data/ folder.

  3. Use the trained BiLSTM model for each course in the models/ folder. Alternatively, train the model yourself with python scripts/LSTM.py, based on the BO (Behavior-Only) baseline models from the ML4ED lab's L@S 2022 contribution on meta transfer learning.

  4. Select your uniformly sampled subset of points (for time-efficiency, reducing the experiments to hours instead of weeks) by running python scripts/uniform.py.

  5. Run your desired experiment from scripts/ by executing the explainability script with Python 3.7 or higher (i.e. python scripts/LIME.py).

Contributing

This code is provided for educational purposes and aims to facilitate reproduction of our results, and further research in this direction. We have done our best to document, refactor, and test the code before publication.

If you find any bugs or would like to contribute new models, training protocols, etc, please let us know. Feel free to file issues and pull requests on the repo and we will address them as we can.

Citations

If you find this code useful in your work, please cite our paper:

Swamy, V., Radmehr, B., Krco, N., Marras, M., Käser, T. (2022). 
Evaluating the Explainers: A Comparison of Explainability Techniques for Black-Box Success Prediction in MOOCs. 
In: Proceedings of the 15th International Conference on Educational Data Mining (EDM 2022).

License

This code is free software: you can redistribute it and/or modify it under the terms of the MIT License.

This software is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the MIT License for details.

evaluating-explainers's People

Contributors

baharradmehr avatar vinitra avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

paola-md deyh2020

evaluating-explainers's Issues

Missing "feature_set.csv" for toy_course

Hi,
when I tested the code for toy course example ,I found "feature_set.csv" is missing. Could you provide this file or tell me how to fill it?
Thanks a lot.

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.