-
-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[REVIEW]: ReLax: Efficient and Scalable Recourse Explanation Benchmarking using JAX #6567
Comments
Hello humans, I'm @editorialbot, a robot that can help you with some common editorial tasks. For a list of things I can do to help you, just type:
For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:
|
Software report:
Commit count by author:
|
Paper file info: 📄 Wordcount for ✅ The paper includes a |
License info: ✅ License found: |
Hi @GarrettMerz, @duhd1993, please generate your checklist at your convenience. Please let me know if you need any help. Thanks for your time. |
|
Review checklist for @GarrettMerzConflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
|
Hi @duhd1993, can you generate your checklist at your convenience? Thanks for your time. |
Review checklist for @duhd1993Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
|
@Fei-Tao will you please check in on this review when you have a moment to make sure things keep moving? Thanks! |
Apologies for the delay on this! Here is the current status of my review. I've checked what I can, but left some checkboxes open for now: -The "installation instructions" are incomplete. I'd like some more clarity on how and when to install JAX (the repo says to install jax-relax before the GPU version of JAX- is this correct?). Is this something that can be clarified? Additionally, several required packages are not listed: fastcore, nbdev, ipywidgets>=7.0. -Much of the documentation is located on the linked doc page rather than in the repository. This is fine, especially for things like comprehensive API documentation, but the "community guidelines" section (or a link to it) should be in the main repository. -The repository does not have automated tests. However, there is a comprehensive tutorial that describes how to use the software. The tutorial is somewhat spread across the repo- the steps in the README give a way to test a sample classifier, but the 'Getting Started' section refers to the tutorial notebooks. If possible, this should be centralized and streamlined more- if I can test that everything runs out-of-the-box by clicking through one or more notebooks, that's ideal. -The datasets needed to reproduce the plots in the paper are not provided in the repository, but are linked in the paper. When links are provided, as with the 'adult' dataset mentioned in the tutorials notebook, the available data is not formatted as needed by the code. I'd like to reproduce the benchmarks in the paper, but it's unclear what I need to do in order to get a hold of the data to do so. |
Hi guys, I was traveling for the past two weeks and had limited access to my laptop. Sorry to reply late. |
@GarrettMerz Thank you very much for your constructive feedback and suggestions. Below, we clarify your concerns about our library:
Our latest installation guidance clarifies how to install JAX with GPU (see the latest Installation section). Essentially, it is advised to first install Additionally, these mentioned packages (including fastcore, nbdev) are not required for using
All of the documentations are written in Jupyter notebook, which is automatically converted to the documentation web pages. Those Jupyter notebooks are located in the GitHub repository. For example, the "community guidelines" section is located at https://github.com/BirkhoffG/jax-relax/blob/master/nbs/tutorials/contribution.ipynb.
Our repository contains automated tests by simply running All test cases are located in each Jupyter notebook. Essentially, all code blocks without directives are considered test cases (directives are special comments start with In terms of the tutorials, the getting started and
Due to the concerns about the file size limit in GitHub, we choose to host datasets and models on huggingface. All datasets are located in We provide an easy-to-use API to automatically load the data modules VIA import relax
data = relax.load_data('adult') To reproduce the results in the paper, you can run python -m benchmarks.built-in.run_all cc @Fei-Tao |
@BirkhoffG Thanks for your response! Given all this, I've completed the checklist- thanks for the additional clarity. This is a great paper and codebase, looking forward to seeing it published :) |
Hi @duhd1993 , can you finish your review at your convenience? Thanks for your time. |
@Fei-Tao No problem. I will finish it this week. Sorry for delay. |
@duhd1993 no problem. Thanks for your willingness to help improve this submission. |
Hi @duhd1993, Is there anything else you need our help to clarify about this repo? |
Sorry for the delay. I have reviewed the paper and the Github repo. @BirkhoffG The author developed ReLax, a JAX-based library for efficient and scalable benchmarking of recourse and counterfactual explanation methods for machine learning models. It implements 9 popular recourse methods and includes 14 medium-sized datasets and 1 large-scale dataset for benchmarking. ReLax achieves significant performance improvements. There are a few issues that needs improvement or clarifications
|
@duhd1993 Thank you very much for your constructive feedback and suggestions. Below, we clarify your concerns about our library:
As we suggested here, we deliberately exclude these requirements (including fastcore, nbdev) for normal installation because these packages are not required for using We have updated the installation docs to reflect those requirements. The dependencies are specified in settings.ini.
You are right in pointing out that existing libraries/implementations cannot scale, and this is the main limitation that we aim to address in Our experiments show a similar pattern between the results achieved by the implementations of recourse methods in
There exists a large amount of recourse methods proposed by the research communities. These surveys [1, 2, 3] provide a comprehensive review of the various problems and methods for algorithmic recourses. Based on the use of parametric models, we categorize existing methods into non-parametric, semi-parametric, and parametric methods, and we select 3 representative methods for each category. Additionally, given the rapid progress in this field, it is impractical to incorporate every existing recourse method, and we welcome the research communities to contribute new recourse methods to
Yes, you can easily implement new recourse methods and integrate them into the
We have updated a README on requirements and instructions on how to run the benchmark scripts. Reference[1] https://arxiv.org/abs/2010.10596 |
Hi @BirkhoffG the article and reference look good to me now. |
@editorialbot set v0.2.8 as archive |
Done! archive is now v0.2.8 |
@editorialbot set 10.5281/zenodo.13957805 as archive |
Done! archive is now 10.5281/zenodo.13957805 |
@editorialbot set v0.2.8 as version |
Done! version is now v0.2.8 |
@editorialbot recommend-accept |
|
|
👋 @openjournals/dsais-eics, this paper is ready to be accepted and published. Check final proof 👉📄 Download article If the paper PDF and the deposit XML files look good in openjournals/joss-papers#6035, then you can now move forward with accepting the submission by compiling again with the command |
@editorialbot generate pdf 🔍 checking out the following:
|
👋 @BirkhoffG - I just need you to address the following before I move to accept this submission for publication:
Let me know when these have been taken care of. Thanks. |
Hi @crvernon - I have fixed these two issues. Thank you for your help in this submission. |
@editorialbot generate pdf |
@editorialbot accept |
|
Ensure proper citation by uploading a plain text CITATION.cff file to the default branch of your repository. If using GitHub, a Cite this repository menu will appear in the About section, containing both APA and BibTeX formats. When exported to Zotero using a browser plugin, Zotero will automatically create an entry using the information contained in the .cff file. You can copy the contents for your CITATION.cff file here: CITATION.cff
If the repository is not hosted on GitHub, a .cff file can still be uploaded to set your preferred citation. Users will be able to manually copy and paste the citation. |
🐘🐘🐘 👉 Toot for this paper 👈 🐘🐘🐘 |
🦋🦋🦋 👉 Bluesky post for this paper 👈 🦋🦋🦋 |
🚨🚨🚨 THIS IS NOT A DRILL, YOU HAVE JUST ACCEPTED A PAPER INTO JOSS! 🚨🚨🚨 Here's what you must now do:
Any issues? Notify your editorial technical team... |
🥳 Congratulations on your new publication @BirkhoffG! Many thanks to @Fei-Tao for editing and @GarrettMerz and @duhd1993 for your time, hard work, and expertise!! JOSS wouldn't be able to function nor succeed without your efforts. Please consider becoming a reviewer for JOSS if you are not already: https://reviewers.joss.theoj.org/join |
🎉🎉🎉 Congratulations on your paper acceptance! 🎉🎉🎉 If you would like to include a link to your paper from your README use the following code snippets
This is how it will look in your documentation: We need your help! The Journal of Open Source Software is a community-run journal and relies upon volunteer effort. If you'd like to support us please consider doing either one (or both) of the the following:
|
Submitting author: @BirkhoffG (Hangzhi Guo)
Repository: https://github.com/BirkhoffG/jax-relax/
Branch with paper.md (empty if default branch): joss
Version: v0.2.8
Editor: @Fei-Tao
Reviewers: @GarrettMerz, @duhd1993
Archive: 10.5281/zenodo.13957805
Status
Status badge code:
Reviewers and authors:
Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) by leaving comments in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)
Reviewer instructions & questions
@GarrettMerz & @duhd1993, your review will be checklist based. Each of you will have a separate checklist that you should update when carrying out your review.
First of all you need to run this command in a separate comment to create the checklist:
The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @Fei-Tao know.
✨ Please start on your review when you are able, and be sure to complete your review in the next six weeks, at the very latest ✨
Checklists
📝 Checklist for @GarrettMerz
📝 Checklist for @duhd1993
The text was updated successfully, but these errors were encountered: