Modello di previsione diabetica utilizzando Python Machine Learning
introduzione
In questo articolo impareremo come utilizzare il modello Train Test Split per dividere un set di dati in quattro parti, sviluppare un modello di previsione e anche analizzare le previsioni e il set di dati attraverso un caso d'uso.
Caso d'uso: dichiarazione del problema
Il nostro obiettivo per questo articolo è prevedere se i pazienti hanno o meno il diabete . Tutti i nostri pazienti sono giovani donne, i cui dati forniti (ad es. Numero di gravidanze, livelli di glucosio e BMI) verranno utilizzati per prevedere il diabete. Questo è il set di dati che useremo.
Dati di addestramento e test nell'apprendimento automatico
Lavorando con i set di dati, quasi tutti gli algoritmi di apprendimento automatico funzionano in tre diverse fasi: preelaborazione dei dati, modello di previsione e analisi dei dati. Durante la fase 1 del processo, il set di dati viene suddiviso in 80% dati di addestramento e 20% dati di test. Utilizzando il modello Train Test Split , completeremo prima la pre-elaborazione dei dati prima del modello di previsione e dell'analisi dei dati.
Per avviare la preelaborazione dei dati, dobbiamo prima installare un paio di librerie Python usando pip:
>>>pip installa panda
>>>pip installa sklearn
Dopo aver installato le librerie necessarie, utilizzeremo la libreria pandas per importare il set di dati e la libreria sklearn per eseguire la divisione del set di dati:
Dopo aver importato questi pacchetti, leggeremo il nostro set di dati da un file csv a un dataframe panda per poterlo modificare e manipolare facilmente nella fase di pre-elaborazione.
Ora inizieremo a dividere il set di dati in due parti: x e y. Poiché vogliamo prevedere il "Risultato", 0 indica assenza di diabete e 1 indica diabete , la nostra variabile x includerà tutti i dati tranne "Risultato", mentre la nostra variabile y memorizzerà solo i valori "Risultato".
Successivamente, utilizzeremo infine il modello Train Test Split per suddividere la variabile x in 80% x_train e 20% x_test . Lo stesso verrà fatto per la variabile y: 80% y_train e 20% y_test .
Per verificare cosa è realmente accaduto, possiamo eseguire .head() o .shape sui treni e verificare come i dati sono stati modificati dall'inizio di questo articolo fino ad ora.
Sviluppo del modello di previsione
Completata la divisione del set di dati in quattro parti, inizieremo ora la fase 2 del processo, sviluppando un modello di previsione. Useremo il modello Random Forest Classifier , che è ottimo per le previsioni di classificazione basate su più fattori come in questo caso, per le nostre previsioni.
Innanzitutto, importeremo il nostro modello Random Forest Classifier da sklearn. Quindi, dopo aver definito il nome del modello, verrà addestrato con x_train e y_train del set di dati, in modo che possa scoprire modelli e tendenze tra le diverse variabili indipendenti in x_train e la variabile "Risultato" in y_train . Al termine del processo di addestramento, utilizzeremo il nostro modello addestrato per prevedere il "risultato" dei nostri dati x_test immessi senza fornire i dati y_test. Ecco il codice per tutto questo:
Con le previsioni memorizzate nella variabile y_pred, vorremmo vedere quanto erano accurate le nostre previsioni per i dati x-_test forniti confrontandoli con i risultati effettivi di y_test. Utilizzando le metriche della libreria sklearn, scopriamo che il nostro modello era accurato all'81% circa con le sue previsioni.
Nota: il modello Radom Forest Classifier, come i modelli di previsione più sofisticati, è progettato per set di dati di grandi dimensioni. La sua funzione e le previsioni sono molto più accurate con quantità di dati "maggiori", poiché può implementare più dati da cui addestrare e imparare, portando a previsioni migliori e maggiore accuratezza.
Analisi dei dati
Nella fase finale del progetto, vorremmo eseguire alcune analisi dei dati per saperne di più sui dati e sul nostro modello di previsione. Innanzitutto, utilizzeremo una matrice di confusione di sklearn per saperne di più sulle nostre previsioni e su dove è andato storto. Avremo bisogno di installare con pip e importare le librerie seaborn e matplotlib affinché queste seguenti analisi dei dati funzionino.
Come possiamo vedere qui, la Confusion Matrix ci dice che il numero di volte in cui il nostro modello ha predetto qualcosa di corretto e sbagliato. Inoltre, la Confusion Matrix mostra i falsi positivi e i falsi negativi prodotti dal modello, deducendo che ha bisogno di più dati per correggere quegli errori.
Un'altra tecnica di analisi dei dati utilizza i punteggi di importanza delle caratteristiche per determinare quali variabili indipendenti sono più significative nel predire o meno il diabete . Più alto è il punteggio importante della caratteristica significa maggiore è l'influenza che quella variabile ha sull'“Esito” del diabete.
Per mostrare graficamente questi dati:
Conclusione
Qui in questo articolo, abbiamo imparato come suddividere un set di dati di file csv in 4 sezioni diverse utilizzando il modello Train Test Split, creato un modello di previsione addestrandolo e testandolo e utilizzato anche un paio di tecniche di analisi dei dati per comprendere le previsioni a portata di mano .

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































