# Applicazioni pratiche di machine learning/Diagnosi di malattie

Applicazioni pratiche di machine learning
Copertina Tutti i moduli · Sviluppo
* Applicazioni pratiche di machine learningApplicazioni pratiche di machine learning
** Previsioni su scommesse sportiveApplicazioni pratiche di machine learning/Previsioni su scommesse sportive
** Previsioni su azioni, criptovalute, derivatiApplicazioni pratiche di machine learning/Previsioni su azioni, criptovalute, derivati
** Trovare lavoroApplicazioni pratiche di machine learning/Trovare lavoro
** Previsioni sul cambiamento climaticoApplicazioni pratiche di machine learning/Previsioni sul cambiamento climatico
** Previsioni sul livello del mareApplicazioni pratiche di machine learning/Previsioni sul livello del mare
** Previsioni sulle produzioni agricoleApplicazioni pratiche di machine learning/Previsioni sulle produzioni agricole
** Riconoscimento della scrittura a manoApplicazioni pratiche di machine learning/Riconoscimento della scrittura a mano
** Previsioni sugli incendiApplicazioni pratiche di machine learning/Previsioni sugli incendi
** Diagnosi di malattieApplicazioni pratiche di machine learning/Diagnosi di malattie
** Diagnosi di malattie mentaliApplicazioni pratiche di machine learning/Diagnosi di malattie mentali
** Identificazione delle pulsarApplicazioni pratiche di machine learning/Identificazione delle pulsar
** Identificazione dei social botApplicazioni pratiche di machine learning/Identificazione dei social bot
** Approvazione carte di creditoApplicazioni pratiche di machine learning/Approvazione carte di credito
** Previsione di reatiApplicazioni pratiche di machine learning/Previsione di reati
** Concessione sussidiApplicazioni pratiche di machine learning/Concessione sussidi
** Previsione di vendite futureApplicazioni pratiche di machine learning/Previsione di vendite future
** Segmentazione dei clientiApplicazioni pratiche di machine learning/Segmentazione dei clienti
** Previsioni su direct mailApplicazioni pratiche di machine learning/Previsioni su direct mail
* Appendice
** Installazione di RApplicazioni pratiche di machine learning/Installazione di R
** Creare reports in RStudioApplicazioni pratiche di machine learning/Creare reports in RStudio
** Creare reports in JupyterApplicazioni pratiche di machine learning/Creare reports in Jupyter
** ChatGpt come data analyst o data scientistApplicazioni pratiche di machine learning/ChatGpt come data analyst o data scientist
Modifica il sommario

# Diagnosi di malattie tramite descrizione testuale

Tramite il modello BERT di classificazione del testo è possibile diagnosticare malattie, descrivendo liberamente la propria sintomatologia. Su HuggingFace al seguente indirizzo : https://huggingface.co/Zabihin/Symptom_to_Diagnosis è possibile digitare in inglese in modo discorsivo i propri sintomi nell'apposita casella di testo, ottenendo varie diagnosi con una certa accuracy in percentuale.

# Diagnosi di malattie tramite sintomi

Utilizzando l'algoritmo di machine learning Random Forest è possibile diagnosticare le malattie tramite i loro sintomi con un'Accuracy del 99% . Su HuggingFace al seguente indirizzo : https://huggingface.co/gianlab/random-forest-model-disease-symptom-prediction è possibile scaricare il modello sul proprio PC o su Google Colab, in modo da fare diagnosi mediche attraverso sintomi. Il codice per effettuare tale analisi si trova su Github, come indicato nel suddetto link.

# Diagnosi di malattie cardiache
## Parte 1: Dati

Il dataset "heart.csv" scaricabile da qui : https://archive.ics.uci.edu/ml/datasets/Heart+Disease contiene 303 osservazioni, ciascuna delle quali contiene 14 variabili relative al cuore. Tali variabili sono le seguenti :
* age: l'età della persona in anni
* sex: il sesso della persona (1 = maschio, 0 = femmina)
* cp: dolore toracico sperimentato (1: angina tipica, 2: angina atipica, 3:dolore non anginale, 4: asintomatico)
* trestbps: pressione sanguigna a riposo della persona (mm/Hg al momento del ricovero in ospedale)
* chol: misurazione del colesterolo in mg/dl
* fbs: glicemia a digiuno della persona (> 120 mg/dl, 1 = vero; 0 = falso)
* restecg: elettrocardiogramma a riposo (0 = normale, 1 = con anomalia dell'onda ST-T, 2 = ipertrofia ventricolare sinistra probabile o definita secondo i criteri di Estes)
* thalach: frequenza cardiaca massima raggiunta dalla persona
* exang: angina indotta dall'esercizio (1 = sì; 0 = no)
* oldpeak: depressione ST indotta dall'esercizio ('ST' si riferisce alle posizioni sul diagramma ECG)
* slop: pendenza del segmento ST (valore 1: salita, valore 2: piano, valore 3: discesa)
* ca: numero di vasi principali (0-3)
* tal: disturbo del sangue chiamato talassemia (3 = normale; 6 = difetto fisso; 7 = difetto reversibile)
* target: malattie cardiache (0 = no, 1 = sì)
Caricamento dei dati:
Ricerca valori mancanti:

## Parte 2 : Domanda di ricerca

Si vuole predire l'eventuale presenza di una malattia cardiaca nel paziente, predicendo la variabile target in base alle 13 suddette variabili.

## Parte 3: Esplorazione dei dati

Visualizzo informazioni sulle variabili numeriche come min, max, media, mediana, 1°quartile, 3° quartile ecc e per le variabili categoriche il numero di elementi di ciascun livello:
Alcuni grafici relativi al campione :

## Parte 4: Modellizzazione e previsione

Divido il dataset heart in un training set costituito dal 70% delle osservazioni casuali, ottenendo 213 osservazioni, ed in un testing set costituito dalle rimanenti 90 osservazioni:
Utilizzando l'algoritmo Random Forest costruisco un modello previsionale sul training set che mi dà un'Accuracy quasi del 100% e sul testing set un'Accuracy dell'80% per cui il modello così ottenuto, con cui si predice se il paziente ha malattie al cuore oppure no, si può ritenere valido.

## Esempio di diagnosi

Per un uomo di 37 anni con i dati di seguito indicati il modello fa una diagnosi di malattia al cuore: