A Scikit Learn compatible implementation of FIBERS Algorithm
Project description
scikit-FIBERS
Feature Inclusion Bin Evolver for Risk Stratification (FIBERS) is an evolutionary algorithm for automatically binning features to stratify risk in right-censored survival data. In particular it was designed for features that correspond to mismatches between donor and recipients for transplantation. This repository focuses on a scikit-learn compatible implementation of the original (FIBERS) algorithm. Further development of the FIBERS algorithm will take place via this repository.
It utilizes an evolutionary algorithm approach to optimizing bins of features based on their stratification of event risk through the following steps:
- Random bin initialization or expert knowledge input; the bin value at an instance is the sum of the instance's values for the features included in the bin
- Repeated evolutionary cycles consisting of:
- Candidate bin evaluation with log-rank test to evaluate for significant difference in survival curves of the low risk group (instances for which bin value = 0) and high risk group (instances for which bin value > 0).
- Genetic operations (elitism, parent selection, crossover, and mutation) for new bin discovery and generation of the next generation of candidate bins
- Final bin evaluation and summary of risk stratification provided by top bins
Installation
We can easily install scikit-FIBERS using the following command:
pip install scikit-fibers
Read More About scikit-FIBERS
The first publication detailing scikit-FIBERS (release 0.9.3) and applying it to simulated right-censored survival data with amino acid mismatch features is currently in press:
Bandhey, H., Fogarty, N., Hsieh, Y., Kamoun, M., Urbanowicz, R. Scikit-FIBERS: An 'OR'-Rule Discovery Evolutionary Algorithm for Risk Stratification in Right-Censored Survival Analysis. In Proceedings of the 25th annual conference on Genetic and evolutionary computation. 2023. (In Press)
How to Use:
An Example Notebook is given with sample code that shows what functions are available in scikit-FIBERS and how to use them.
Documentation:
Extensive code documentation about the scikit-FIBERS API can be found here in the guide.
Contact
Please email Ryan.Urbanowicz@cshs.org and Harsh.Bandhey@cshs.org for any inquiries related to scikit-FIBERS.
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
Built Distribution
Hashes for scikit_fibers-0.9.3.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c67051f8f79699a5c23c6fe32fc1d189d22a3a2a1304b0651120adc223198d15 |
|
MD5 | a6b19de331e910f9440cdc70a213a8d0 |
|
BLAKE2b-256 | ab77e7f2f40dfdb2201e8a5a42fb8bf8c02c6494b941f7861f3b52fa22466c5c |