top of page

Come costruire modelli predittivi sanitari utilizzando PyHealth?


L' apprendimento automatico è stato applicato a molte attività relative alla salute, come lo sviluppo di nuovi trattamenti medici, la gestione dei dati e dei record dei pazienti e il trattamento delle malattie croniche. Per ottenere il successo in queste applicazioni , dobbiamo fare affidamento sulla tecnica dispendiosa in termini di tempo della valutazione della costruzione di modelli. Ma qui entriamo in soccorso noi di Intelligenza Artificiale Italia, abbiamo avuto il piacere di trovare e studiare una libreria Python dedicata al Machine Learning su dati medici, il suo nome è PyHealth. Come suggerisce il nome, questa libreria contiene una varietà di modelli ML e algoritmi di architettura per lavorare con i dati medici. In questo articolo, analizzeremo questo modello per comprenderne il funzionamento e l'applicazione. Di seguito sono riportati i prerequisiti per capire e poter approfondire e i punti principali di cui parleremo in questo articolo.



Come costruire modelli predittivi sanitari utilizzando PyHealth?
Come costruire modelli predittivi sanitari utilizzando PyHealth?


Prerequisiti :

  • Se non sai cosa è il Machine Learning, clicca qui

  • Se non conosci le principali applicazioni Machine Learning, clicca qui

  • Se non sai come scaricare e gestire le librerie, clicca qui

  • Se non sai cosa sia un Dataset, clicca qui


Sommario

  1. Apprendimento automatico in ambito sanitario

  2. In che modo PyHealth può aiutare nel settore sanitario?

  3. Lavoro di PyHealth

  4. PyHealth per la costruzione di modelli

Discutiamo prima il caso d'uso dell'apprendimento automatico nel settore sanitario.


Apprendimento automatico in ambito sanitario

L'apprendimento automatico viene utilizzato in una varietà di contesti sanitari, dalla gestione dei casi di condizioni croniche comuni allo sfruttamento dei dati sulla salute dei pazienti insieme a fattori ambientali come l'esposizione all'inquinamento e le condizioni meteorologiche.


La tecnologia di apprendimento automatico può aiutare gli operatori sanitari a sviluppare trattamenti farmacologici accurati su misura per le caratteristiche individuali, elaborando enormi quantità di dati. Di seguito sono riportati alcuni esempi di applicazioni che possono essere affrontate in questo segmento:


Apprendimento automatico in ambito sanitario : Rilevamento di malattie

La capacità di diagnosticare rapidamente e correttamente le malattie è uno degli aspetti più critici di un'organizzazione sanitaria di successo. In aree ad alto bisogno come la diagnosi e la terapia del cancro, dove centinaia di farmaci sono ora in sperimentazione clinica, scienziati e computazionalisti stanno entrando nel mix. Un metodo combina il calcolo cognitivo con il sequenziamento genetico del tumore, mentre un altro utilizza l'apprendimento automatico per fornire diagnosi e cure in una vasta gamma di campi, inclusa l'oncologia.


Apprendimento automatico in ambito sanitario : Diagnosi usando l'immagine

L'imaging medico, e la sua capacità di fornire un quadro completo di una malattia, è un altro aspetto importante nella diagnosi di una malattia. Il deep learning sta diventando più accessibile man mano che le fonti di dati diventano più diversificate e può essere utilizzato nel processo diagnostico, quindi sta diventando sempre più importante. Sebbene queste applicazioni di apprendimento automatico siano spesso corrette, presentano alcune limitazioni in quanto non possono spiegare come sono arrivate alle loro conclusioni.


Apprendimento automatico in ambito sanitario : Scoperta di nuovi farmaci

Il ML ha il potenziale per identificare nuovi farmaci con significativi vantaggi economici per aziende farmaceutiche, ospedali e pazienti. Alcune delle più grandi aziende tecnologiche del mondo, come IBM e Google, hanno sviluppato sistemi ML per aiutare i pazienti a trovare nuove opzioni di trattamento. La medicina di precisione è un'espressione significativa in quest'area poiché implica la comprensione dei meccanismi alla base di disturbi complessi e lo sviluppo di percorsi terapeutici alternativi.


Apprendimento automatico in ambito sanitario : Strumenti chirurgici

A causa della natura ad alto rischio degli interventi chirurgici, avremo sempre bisogno dell'assistenza umana, ma l'apprendimento automatico si è dimostrato estremamente utile nel settore della chirurgia robotica. Il robot da Vinci, che consente ai chirurghi di azionare bracci robotici per eseguire interventi chirurgici con grande dettaglio e in spazi ristretti, è una delle scoperte più popolari nella professione.


Queste mani sono generalmente più precise e stabili delle mani umane. Esistono strumenti aggiuntivi che utilizzano la visione artificiale e l'apprendimento automatico per determinare le distanze tra le varie parti del corpo in modo che l'intervento chirurgico possa essere eseguito correttamente.


In che modo PyHealth può aiutare il settore sanitario?

I dati sanitari sono in genere rumorosi, complicati ed eterogenei, risultando in una serie diversificata di problemi di modellizzazione sanitaria. Ad esempio, la previsione del rischio per la salute si basa su dati sequenziali del paziente, diagnosi della malattia basata su immagini mediche e rilevamento del rischio basato su segnali fisiologici continui.


Elettroencefalogramma (EEG) o elettrocardiogramma (ECG), ad esempio, e note cliniche multimodali (es. testo e immagini). Nonostante la loro importanza nella ricerca sanitaria e nel processo decisionale clinico, la complessità e la variabilità dei dati e delle attività sanitarie richiedono lo sviluppo atteso da tempo di un sistema di riciclaggio specializzato per l'analisi comparativa dei modelli sanitari predittivi.


PyHealth è composto da tre moduli:

  1. preelaborazione dei dati

  2. modellazione predittiva

  3. valutazione modello.


Sia gli informatici che gli scienziati dei dati sanitari sono i consumatori target di PyHealth. Possono eseguire complicati processi di apprendimento automatico su set di dati sanitari in meno di 10 righe di codice utilizzando PyHealth.


Il modulo di preelaborazione dei dati converte set di dati sanitari complicati come cartelle cliniche elettroniche longitudinali, immagini mediche, segnali continui (ad es. elettrocardiogrammi) e note cliniche in formati compatibili con l'apprendimento automatico.

Il modulo di modellazione predittiva offre oltre 30 modelli di apprendimento automatico, inclusi alberi d'insieme noti e approcci basati su reti neurali profonde, utilizzando un'API uniforme ma flessibile pensata sia per i ricercatori che per i professionisti.

Il modulo di valutazione include una serie di metodologie di valutazione (ad esempio, convalida incrociata e suddivisione del test di convalida del treno), nonché metriche del modello di previsione.


Ci sono cinque vantaggi distinti nell'utilizzo di PyHealth. Per cominciare, contiene più di 30 algoritmi di salute predittiva all'avanguardia, comprese tecniche tradizionali come XGBoost e architetture di deep learning più recenti come autoencoder, modelli convoluzionali e contraddittori.


In secondo luogo, PyHealth ha un'ampia portata e include modelli per una varietà di tipi di dati, inclusi sequenza, immagine, segnale fisiologico e dati di testo non strutturati. Terzo, per chiarezza e facilità d'uso, PyHealth include un'API unificata, documentazione dettagliata ed esempi interattivi per tutti gli algoritmi: modelli complessi di deep learning possono essere implementati in meno di dieci righe di codice.


In quarto luogo, i test di unità con multipiattaforma, integrazione continua, copertura del codice e controlli di manutenibilità del codice vengono eseguiti sulla maggior parte dei modelli in PyHealth. Infine, per efficienza e scalabilità, la parallelizzazione è abilitata in moduli selezionati (preelaborazione dei dati), nonché il calcolo veloce della GPU per i modelli di deep learning tramite PyTorch.


PyHealth Tutorial step by step - Crea il tuo modello predittivo in ambito sanitario

PyHealth è un'applicazione Python 3 che utilizza NumPy, scipy, scikit-learn e PyTorch. Come mostrato nel diagramma seguente, PyHealth è costituito da tre moduli principali: in primo luogo, il modulo di preelaborazione dei dati può convalidare e convertire l'input dell'utente in un formato comprensibile dai modelli di apprendimento;


In secondo luogo, il modulo di modellazione predittiva è costituito da una raccolta di modelli organizzati per tipo di dati di input in sequenze, immagini, EEG e testo. Per ogni tipo di dati è stata implementata una serie di modelli di apprendimento dedicati e il terzo è il modulo di valutazione in grado di dedurre automaticamente il tipo di attività, come la multiclassificazione, e condurre una valutazione completa per tipo di attività.



Come costruire modelli predittivi sanitari utilizzando PyHealth?
Come costruire modelli predittivi sanitari utilizzando PyHealth?


La maggior parte dei modelli di apprendimento condivide la stessa interfaccia e si ispira alla scikit-API Learn to design e alla progettazione generale del deep learning: I fit apprende i pesi e salva le statistiche necessarie dal treno e dai dati di convalida; modello di carico sceglie il modello con la migliore accuratezza di convalida e l'inferenza prevede i dati di test in entrata.


Per una rapida esplorazione di dati e modelli, il framework include una libreria di funzioni di supporto e di utilità (controllo parametro, controllo etichetta e stimatori di partizione). Ad esempio, un controllo dell'etichetta può controllare l'etichetta dei dati e dedurre il tipo di attività, ad esempio la classificazione binaria o la classificazione multipla, automaticamente.




PyHealth per la costruzione di modelli


Ora di seguito discuteremo come possiamo sfruttare questa libreria con python. Per prima cosa, dobbiamo installare il pacchetto usando pip.



! pip install pyhealth

Successivamente, possiamo caricare i dati dal repository stesso. Per questo, dobbiamo clonare il repository. Dopo aver clonato il repository all'interno della cartella dei set di dati, c'è una varietà di set di dati come basati su sequenze, basati su immagini, ecc. Stiamo usando il set di dati mimic ed è nel modulo zip che dobbiamo decomprimerlo. Di seguito è riportato il repository del clone snippet e decomprimi i dati.


Naturalmente in questo tutorial utilizzeremo i loro dati perchè è molto difficile reperire questi tipi di dati. Però se avete dei vostri set di dati utilizzateli e magari condividete i risultati nei commenti.


! git clone https://github.com/yzhao062/PyHealth.git
! unzip /content/PyHealth/datasets/mimic.zip

Il file decompresso viene salvato nella directory di lavoro corrente con il nome della cartella come imitazione. Successivamente per utilizzare questo set di dati è necessario caricare la funzione del generatore di dati di sequenza che funge da funzionalità per preparare il set di dati per la sperimentazione.


from pyhealth.data.expdata_generator import sequencedata as expdata_generator
# inizializza il set di dati
# ID univoco per il set di dati
expdata_id = '2020.0811.data.phenotyping.test.v2'
cur_dataset = expdata_generator(expdata_id=expdata_id)
cur_dataset.get_exp_data(sel_task='phenotyping', data_root='/content/mimic')
cur_dataset.load_exp_data()

Ora abbiamo caricato il set di dati. Ora possiamo fare un'ulteriore modellazione come di seguito.

# caricare e montare il modello
from pyhealth.models.sequence.embedgru import EmbedGRU

# ID univoco per il modello
expmodel_id = '2020.0811.model.phenotyping.test.v2'
clf = EmbedGRU(expmodel_id=expmodel_id, n_batchsize=5, use_gpu=False,
    n_epoch=100)
# fit model
clf.fit(cur_dataset.train, cur_dataset.valid)

Ecco il risultato.



Come costruire modelli predittivi sanitari utilizzando PyHealth?
Come costruire modelli predittivi sanitari utilizzando PyHealth?

Per salvare il modello addestrato abbiamo scritto più articoli, clicca qui.



Conclusioni finali e Riferimenti

In questo articolo abbiamo discusso di come l'apprendimento automatico può essere utilizzato nel settore sanitario osservando le varie applicazioni.


Riferimenti

  • PyHealth

  • Repository PyHealth

  • Documentazione PyHealth

PCR (5).gif
PCR (4).gif
PCR.gif
PCR.gif
PCR.gif
PCR.gif
PCR (5).gif
3.gif
Vediamo se riesci a cliccarmi ! Nascondo una Sorpresa... (2).png

Ciao 

🤗 Articoli consigliati dalla nostra
Intelligenza Artificiale in base ai tuoi interessi

Correlazione Alta

Correlazione Media

Correlazione Bassa

Iscriviti

VUOI DIVENTARE UN MEMBRO DI INTELLIGENZA ARTIFICIALE ITALIA GRATUITAMENTE E TRARNE I SEGUENTI BENEFICI?

Corsi Gratis

più di 150 lezioni online

Dataset Gratis

più di 150o dataset

Ebook Gratis

più di 10 libri da leggere

Editor Gratis

un editor python online

Progetti Gratis

più di 25 progetti python

App Gratis

4 servizi web con I.A.

Unisciti Ora a oltre
1.000.000
di lettori e appassionanti d'I.A.

Tutto ciò che riguarda l'intelligenza Artificiale, in unico posto, in italiano e gratis.

MEGLIO DI COSI' NON SI PUO' FARE

Dopo l'iscrizione riceverai diversi Regali

VUOI SCRIVERE ARTICOLI INSIEME A NOI.

Grazie

bottom of page