{"id":19505274,"url":"https://github.com/interpretml/fastsparse","last_synced_at":"2025-04-26T00:33:51.553Z","repository":{"id":43918613,"uuid":"463325571","full_name":"interpretml/fastSparse","owner":"interpretml","description":null,"archived":false,"fork":false,"pushed_at":"2023-11-20T01:39:58.000Z","size":1567,"stargazers_count":22,"open_issues_count":1,"forks_count":8,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-04T05:51:13.610Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/interpretml.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-02-24T22:51:54.000Z","updated_at":"2025-01-30T16:16:32.000Z","dependencies_parsed_at":"2023-01-30T19:30:53.519Z","dependency_job_id":"49c80c53-c600-4fb9-a67f-5e9e6b03338c","html_url":"https://github.com/interpretml/fastSparse","commit_stats":null,"previous_names":["interpretml/fastsparse"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interpretml%2FfastSparse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interpretml%2FfastSparse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interpretml%2FfastSparse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interpretml%2FfastSparse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/interpretml","download_url":"https://codeload.github.com/interpretml/fastSparse/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250917283,"owners_count":21507561,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T22:29:28.085Z","updated_at":"2025-04-26T00:33:49.486Z","avatar_url":"https://github.com/interpretml.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fastSparse\n\nThis repository contains source code to our AISTATS 2022 paper: \n\n* [Fast Sparse Classification for Generalized Linear and Additive Models](https://arxiv.org/abs/2202.11389)\n\n---\n## 1. Installation ##\n\nTo install this R package, please go to the [installation folder](./installation) and follow the installation instructions.\n\n---\n## 2. Application and Usage\nWe provide a toolkit for producing sparse and interpretable generalized linear and additive models for the binary classiciation task by solving the L0-regularized problems. The classiciation loss can be either the logistic loss or the exponential loss. The algorithms can produce high quality (swap 1-OPT) solutions and are generally 2 to 5 times faster than previous approaches.\n\n### 2.1 R Interface\nTo understand how to use this R package, please go to the [application_and_usage_R_interface_folder](./application_and_usage_R_interface).\n\n### 2.2 Python Interface\nTo understand how to use this package in a python environment, we provide a python wrapper to acheive this. Please go to the [application_and_usage_python_interface_folder](./application_and_usage_python_interface).\n\n\n## 3. Experiment Replication\nTo replicate our experimental results shown in the paper, please go to the [experiments folder](./experiments).\n\n## 4. Step Function Visualization\nTo reproduce the step function plots shown in the paper, please go to the [step_function_visualization folder](./step_function_visualization).\n\n## 5. Citing Our Work ##\nIf you find our work useful in your research, please consider citing the following paper:\n\n```bibTex\n@inproceedings{liu2022fast,\n  title={Fast Sparse Classification for Generalized Linear and Additive Models},\n  author={Liu, Jiachang and Zhong, Chudi and Seltzer, Margo and Rudin, Cynthia},\n  booktitle={International Conference on Artificial Intelligence and Statistics},\n  pages={9304--9333},\n  year={2022},\n  organization={PMLR}\n}\n```\n\nAcknowledgement: For this AISTATS camera ready code repository, we build our method based on [L0Learn](https://github.com/hazimehh/L0Learn#l0learn-fast-best-subset-selection)’s codebase, so that we could use its preprocessing steps, and the pipeline for running the full regularization path of $λ_0$ values. Therefore, the computational speedup shown in our paper solely comes from our new proposed algorithms.\n\nWe plan to build our own pipeline and further extend this work before pushing the project to CRAN. Right now you can install the project from GitHub directly. Our repository will be actively maintained, and the most updated version can be found at this current GitHub page.\n\n\n## Package Development ToDo List\n- [ ] Fix windows installation issues.\n- [x] Add language specification to codeblock in README.\n- [x] Add binarization preprocessing function and provide usage in jupyter notebook.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finterpretml%2Ffastsparse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finterpretml%2Ffastsparse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finterpretml%2Ffastsparse/lists"}