Skip to content

🥧ReciPys: easily define and execute preprocessing and feature engineering steps on Polars and Pandas dataframes.

License

Notifications You must be signed in to change notification settings

rvandewater/ReciPys

Repository files navigation

logo

🥧ReciPys🐍

CI Black Platform License PyPI version shields.io arXiv

The ReciPys package is a preprocessing framework operating on Polars and Pandas dataframes. The backend can be chosen by the user. The operation of this package is inspired by the R-package recipes. This package allows the user to apply a number of extensible operations for imputation, feature generation/extraction, scaling, and encoding. It operates on modified Dataframe objects from the established data science package Pandas.

Installation

You can install ReciPys from pip using:

pip install recipies

Note that the package is called recipies and not recipys on pip due to a name clash with an existing package.

You can install ReciPys from source to ensure you have the latest version:

conda env update -f environment.yml
conda activate recipys
pip install -e .

Note that the last command installs the package called recipies.

Usage

To define preprocessing operations, one has to supply roles to the different columns of the Dataframe. This allows the user to create groups of columns which have a particular function. Then, we provide several "steps" that can be applied to the datasets, among which: Historical accumulation, Resampling the time resolution, A number of imputation methods, and a wrapper for any Scikit-learn preprocessing step. We believe to have covered any basic preprocessing needs for prepared datasets. Any missing step can be added by following the step interface.

📄Paper

If you use this code in your research, please cite the following publication (a standalone paper is in preparation):

@inproceedings{vandewaterYetAnotherICUBenchmark2024,
  title = {Yet Another ICU Benchmark: A Flexible Multi-Center Framework for Clinical ML},
  shorttitle = {Yet Another ICU Benchmark},
  booktitle = {The Twelfth International Conference on Learning Representations},
  author = {van de Water, Robin and Schmidt, Hendrik Nils Aurel and Elbers, Paul and Thoral, Patrick and Arnrich, Bert and Rockenschaub, Patrick},
  year = {2024},
  month = oct,
  urldate = {2024-02-19},
  langid = {english},
}

This paper can also be found on arxiv: https://arxiv.org/pdf/2306.05109.pdf