{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/evaluating-the-explainers-black-box","title":"Evaluating the Explainers: Black-Box Explainable Machine Learning for Student Success Prediction in MOOCs","arxiv_id":"2207.00551","date":"2022-07-01","proceeding":null,"authors":["Vinitra Swamy","Bahar Radmehr","Natasa Krco","Mirko Marras","Tanja Käser"],"abstract":"Neural networks are ubiquitous in applied machine learning for education. Their pervasive success in predictive performance comes alongside a severe weakness, the lack of explainability of their decisions, especially relevant in human-centric fields. We implement five state-of-the-art methodologies for explaining black-box machine learning models (LIME, PermutationSHAP, KernelSHAP, DiCE, CEM) and examine the strengths of each approach 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. Furthermore, we validate explainer performance across curriculum-based prerequisite relationships. 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. Source code and models are released at http://github.com/epfl-ml4ed/evaluating-explainers.","url_abs":"https://arxiv.org/abs/2207.00551v1","url_pdf":"https://arxiv.org/pdf/2207.00551v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"evaluating-the-explainers-black-box","repo_url":"https://github.com/epfl-ml4ed/evaluating-explainers","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":null}],"tasks":[{"task_slug":"machine-learning","task_name":"BIG-bench Machine Learning"},{"task_slug":"feature-importance","task_name":"Feature Importance"}],"methods":[{"method_slug":"lstm","method_name":"LSTM"},{"method_slug":"sigmoid-activation","method_name":"Sigmoid Activation"},{"method_slug":"tanh-activation","method_name":"Tanh Activation"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2207.00551","atlas_url":"https://app.syntology.ai/?focus=2207.00551","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2207.00551"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/epfl-ml4ed/evaluating-explainers","reach":null}],"summary":{"ran_draft_wrong":1,"ran_fixture":1,"ran_honours":1},"by_repo_kind":{"official":{"samples":3,"ran":3,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"d3fb514e53f663ca","entry":"clean_name","repo":"epfl-ml4ed/evaluating-explainers","repo_kind":"official","path":"scripts/SHAP.py","file_url":"https://github.com/epfl-ml4ed/evaluating-explainers/blob/HEAD/scripts/SHAP.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d3fb514e53f663ca"}},{"code_sha256_prefix":"3ba0ec629815559f","entry":"fillNaN","repo":"epfl-ml4ed/evaluating-explainers","repo_kind":"official","path":"scripts/LIME.py","file_url":"https://github.com/epfl-ml4ed/evaluating-explainers/blob/HEAD/scripts/LIME.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3ba0ec629815559f"}},{"code_sha256_prefix":"087d507c37518d01","entry":"transform_x","repo":"epfl-ml4ed/evaluating-explainers","repo_kind":"official","path":"scripts/SHAP.py","file_url":"https://github.com/epfl-ml4ed/evaluating-explainers/blob/HEAD/scripts/SHAP.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"087d507c37518d01"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}