https://github.com/batmen-lab/diamond

Error-controlled interaction discovery in machine learning models

https://github.com/batmen-lab/diamond

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.6%) to scientific vocabulary
Last synced: 6 months ago · JSON representation

Repository

Error-controlled interaction discovery in machine learning models

Basic Info
  • Host: GitHub
  • Owner: batmen-lab
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Size: 7.05 MB
Statistics
  • Stars: 6
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 1
Created over 1 year ago · Last pushed 8 months ago
Metadata Files
Readme License

README.md

DOI

🛡️ Diamond: Error-Controlled Interaction Discovery

Diamond is a Python library for discovering feature interactions in machine learning models with rigorous false discovery rate (FDR) control. It is particularly useful for scientific and biomedical applications where interaction interpretability and statistical reliability are essential.


🔍 Features

  • FDR-Controlled Interaction Discovery
    Uses the model-X knockoffs framework to ensure statistically valid interaction findings.

  • Non-Additivity Distillation
    Isolates interaction-specific importance beyond additive effects.

  • Model-Agnostic
    Compatible with various machine learning models, including Random Forests, XGBoost, and Neural Networks.


▶️ Quick Start

1. Clone the repository and install dependencies

```bash git clone https://github.com/batmen-lab/diamond.git cd diamond conda env create -f environment.yml conda activate diamond

You also need to install the latest version of xlearn from the source code. Please follow the instructions in the xlearn repository.

```

2. Prepare example data

```bash unzip data.zip

Ensure the unzipped data/ folder is at the root level alongside src/

```

3. Run a demo

Example jupyter notebooks are provided in the example directory. You can run the notebooks to see how to use the DIAMOND.


📂 Repository Structure

| Path | Description | |--------------------|--------------------------------------------| | src/ | Core implementation of the Diamond method | | example/ | Jupyter notebooks demonstrating usage | | data.zip | Compressed example datasets | | environment.yml | Conda environment specification | | README.md | Project overview and usage instructions |


❓ Why Use Diamond?

  • Isolates non-additive interactions often missed by standard approaches
  • Provides FDR-controlled interaction discovery via knockoff-based inference
  • Supports diverse machine learning models for flexible use across domains

📝 Citation

If you use Diamond in your research, please cite:

Chen W, Jiang Y, Noble WS, Lu YY. Error-controlled non-additive interaction discovery in machine learning models. Nat Mach Intell (Accepted, 2025).


🛠️ License

This project is licensed under the Apache 2.0 License.

Owner

  • Name: BATMEN Lab @ UWaterloo
  • Login: batmen-lab
  • Kind: user
  • Company: UWaterloo CS

GitHub Events

Total
  • Release event: 1
  • Watch event: 6
  • Member event: 1
  • Push event: 7
  • Create event: 1
Last Year
  • Release event: 1
  • Watch event: 6
  • Member event: 1
  • Push event: 7
  • Create event: 1