Skip to main content

Tests on Feature Importance

Project description

TOFI: Tests on Feature Importance

Overview

tofi is a python package for conducting tests on feature importance in machine learning. It is written on the basis of scikit-learn. Hence, in principle, any regressor/classifier learned by scikit-learn can be inferred by tofi.

tofi provides two types of Inferer for making inferences: CIT for conditional independence test and RIT for risk invariance test. CIT can implement the holdout randomization test (HRT; Tansey et al., 2022), residual permutation test (RPT; Huang, 2024), and conditional predictive impact (CPI; Watson & Wright, 2021). On the other hand, RIT can conduct leave-one-covariate-out (LOCO; Lei et al., 2018) and plug-in estimation (PIE; Williamson et al., 2023). In addition, tofi also constructs a Crosser class. With the help of Crosser, cross-fitting and $p$-value combination can be easily implemented to improve the stability and even statistical power of the CITs and RITs.

Installation

tofi can be installed via pip:

pip install pytofi

Tutorial

Three Jupyter notebooks are available to learn the use of sial:

  1. Conditional Independence Tests
  2. Risk Invariance Tests
  3. Cross-Fitting and $p$-Value Combination

These notebooks assume that readers have experiences in using scikit-learn.

References

Huang, P.-H. (2024). Residual Permutation Tests for Feature Importance in Machine Learning. [Manuscript submitted for publication].

Lei, J., G’Sell, M., Rinaldo, A., Tibshirani, R. J., & Wasserman, L. (2018). Distribution-free predictive inference for regression. Journal of the American Statistical Association, 113(523), 1094–1111. doi: 10.1080/01621459.2017.1307116

Tansey, W., Veitch, V., Zhang, H., Rabadan, R., & Blei, D. M. (2022). The holdout randomization test for feature selection in black box models. Journal of Computational and Graphical Statistics, 31(1), 151–162. doi: 10.1080/10618600.2021.1923520

Watson, D., & Wright, M. (2021). Testing conditional independence in supervised learning algorithms. Machine Learning, 110, 1-23. doi: 10.1007/s10994-021-06030-6

Williamson, B. D., Gilbert, P. B., Simon, N. R., & Carone, M. (2023). A general framework for inference on algorithm-agnostic variable importance. Journal of the American Statistical Association, 118(543), 1645–1658. doi: 10.1080/01621459.2021.2003200

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytofi-0.0.1.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pytofi-0.0.1-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file pytofi-0.0.1.tar.gz.

File metadata

  • Download URL: pytofi-0.0.1.tar.gz
  • Upload date:
  • Size: 12.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.1

File hashes

Hashes for pytofi-0.0.1.tar.gz
Algorithm Hash digest
SHA256 4b816ca1adeab7bda4f173d8ceb6f83a758e2ab7f3ad28fa92b883120d0386ee
MD5 62730f0a11ac2ee643d008103bbbde30
BLAKE2b-256 3694936807dd55820dcb299c012ff4b61f7ba4319b542d859ea14c25eadf1cef

See more details on using hashes here.

File details

Details for the file pytofi-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: pytofi-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 13.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.1

File hashes

Hashes for pytofi-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 410f1536a38693bf3d095a76e8b2644453ae8a7a25170806616f1ec4c87b21f5
MD5 4471b703ec4cdbbfbef3b0ecd623aff8
BLAKE2b-256 44b3554c19b1d60ab9c2fa7636f198f31f8fccc6b53e36cfe6c37ac1999c00d1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page