EpistasisLab/scikit-rebate
A scikit-learn-compatible Python implementation of ReBATE, a suite of Relief-based feature selection algorithms for Machine Learning.
What it solves
It addresses the limitation of standard filter-based feature selection methods, which often only detect simple univariate associations and miss complex feature interactions. This package provides a computationally efficient way to identify important features that interact with one another without needing to exhaustively check every possible pair.
How it works
It implements a suite of Relief-based algorithms (RBAs) that weight features based on how well they distinguish between instances of different classes (or values) while accounting for their neighbors. It offers several "core" algorithms (like ReliefF, SURF, and MultiSWRF) and "wrapper" algorithms (like TuRF and VLS) to increase sensitivity in very high-dimensional datasets. The implementation is scikit-learn compatible, allowing it to be dropped into standard ML pipelines as a feature selection step.
Who it’s for
It is designed for machine learning practitioners and researchers working with structured, labeled tabular data, particularly in fields like genomics and bioinformatics where detecting epistasis (feature interactions) is critical.
Highlights
- Interaction-Sensitive: Detects feature interactions without exhaustive pairwise searching.
- Versatile Data Support: Handles discrete, continuous, or mixed feature types, as well as missing values.
- Flexible Endpoints: Supports binary classification, multi-class classification, and regression.
- Scalable: Wrapper algorithms allow the tool to scale from 10,000 to over 100,000 features.
- Scikit-learn Integration: Fully compatible with scikit-learn pipelines for seamless end-to-end workflows.
Related
- Project
- Project
- Project
- Project