Git Product home page Git Product logo

vincentalcazer / aipal Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 0.0 1.17 MB

Artificial Intelligence-based Prediction of Acute Leukemia: a free and open-source software package built in R, with a user-friendly interface provided via Shiny, that enables clinical hematologists and biologists to diagnose the three main subtypes of acute leukemia based solely on 10 routine biological parameters.

Home Page: https://alcazerv.shinyapps.io/AIPAL/

License: Other

R 100.00%
hematology machine-learning xgboost acute-leukemia

aipal's Introduction

AIPAL: Artificial Intelligence-based Prediction of Acute Leukemia

https://www.thelancet.com/journals/landig/article/PIIS2589-7500(24)00044-X/fulltext

Evaluation of a machine-learning model based on laboratory parameters for the prediction of acute leukaemia subtypes: a multicentre model development and validation study in France

Lancet Digit Health. 2024 May;6(5):e323-e333. PMID: 38670741 DOI: 10.1016/S2589-7500(24)00044-X

Vincent Alcazer, Grégoire Le Meur, Marie Roccon, Sabrina Barriere, Baptiste Le Calvez, Bouchra Badaoui, Agathe Spaeth, Olivier Kosmider, Nicolas Freynet, Marion Eveillard5, Carolyne Croizier, Simon Chevalier, Pierre Sujobert

Methods

We conducted a multicentre, model development, and validation study based on 19 routine laboratory parameters collected at disease onset in 1410 acute leukaemia patients from six independent French University Hospitals. Using training (n=679) and external validation (n=731) cohorts, several machine learning models were evaluated with a custom sensitivity analysis for variable selection. An additional prospective cohort of n=66 patients was also used for further validation.

Based on ten routine laboratory parameters, our final eXtreme Gradient Boosting (XGB)-model showed an AUC [95%CI] of 0.97 [0.95-0.99], 0.90 [0.83-0.97], and 0.89 [0.82-0.95] for APL, ALL, and AML diagnoses, respectively. Optimal cutoffs to guide clinical decisions were then set, leading to an accuracy of 99.7/99.5/98.8% for confident predictions and 96.1/87.9/86.3% for overall predictions of APL, ALL, and AML, respectively. These results were confirmed in the prospective cohort. The final model was integrated into a web-app with a user-friendly graphical interface, AI-PAL.

Getting started

AI-PAL is a free and open-source software package built in R, with a user-friendly interface provided via Shiny, that enables clinical hematologists and biologists to diagnose the three main subtypes of acute leukemia based solely on routine biological parameters.

Online version

AI-PAL has a ready-to-use online version available at https://alcazerv.shinyapps.io/AIPAL/.

Local version

You can install a local version from GitHub either by cloning the repository or directly by downloading the package in R: You’ll need to have R (>= 4.1.0) and the remotes package installed.

install.packages("remotes")
remotes::install_github("VincentAlcazer/AIPAL")

AIPAL::run_app()

The AI-PAL Shiny app will open in your default web browser.

Citing AIPAL

/! This work is currently not published and is available for personal use or review only. /! 

Bug report

If you encounter any problem with the software or find a bug, please report it on GitHub:

  • Create a new issue on the Github page
  • Try to describe the problem/bug with reproductible steps

aipal's People

Contributors

vincentalcazer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

aipal's Issues

Validation Pipeline

Hi,

I want to validate your model with in-house data.
I tried to port your model to Python, but I got slightly different risk scores.
Can you provide a validation pipeline in R?

Alternatively, am I missing a preprocessing step?
``
import xgboost as xgb
import numpy as np

age = 53
MCV_fL = 88
MCHC_g_L = 330
PT = 50
WBC_G_L = 10
Lymphocytes_G_L = 3
Monocytes_G_L = 6
Platelets_G_L = 6
fibri_gL = 6
LDH_UI_L = 250

mono_percent = (Monocytes_G_L*100)/ WBC_G_L

Sample data with 10 features

sample_data = np.array([[fibri_gL, MCV_fL, mono_percent, LDH_UI_L, PT, MCHC_g_L, Lymphocytes_G_L, age, Monocytes_G_L, Platelets_G_L,]]) # Example data

Convert the sample data to DMatrix

dtest = xgb.DMatrix(sample_data)

Make the prediction with probability estimates

prediction = model.predict(dtest)
``

BR
Merlin

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.