Di tutto un pò sul mondo della tecnologia e non solo!
Di tutto un pò sul mondo della tecnologia e non solo!

Il modello sequenziale di Keras: un esempio di utilizzo.

CARICAMENTO DEI DATI DI INTERESSE

Ora, è il momento della scelta del dataset, e per tale motivo scarichiamo il dataset dei Pima Indians, di cui abbiamo già parlato, dal repository UCI Machine Learning. In realtà utilizzeremo il dataset già elaborato presente nel sito Machine Learning Master al seguente indirizzo:

Dataset CSV File (pima-indians-diabetes.csv)

Lo salviamo come diabetes_con_headers.csv direttamente nella cartella principale ove è presente il nostro file Python Example_1.py di Visual Studio Code. Per comodità, scaricate il link del dataset sopra indicato dal seguente link:

In questo file si trovano una serie di dati (che definiremo caratteristiche) oggetto di studio di 768 donne, con almeno 21 anni e di origine indiana Pima.

Se aprite il file csv vedrete i seguenti dati:

Pregnancies,Glucose,BloodPressure,SkinThickness,Insulin,BMI,DiabetesPedigreeFunction,Age,Outcome
6,148,72,35,0,33.6,0.627,50,1
1,85,66,29,0,26.6,0.351,31,0
8,183,64,0,0,23.3,0.672,32,1
1,89,66,23,94,28.1,0.167,21,0
0,137,40,35,168,43.1,2.288,33,1
5,116,74,0,0,25.6,0.201,30,0
3,78,50,32,88,31,0.248,26,1
10,115,0,0,0,35.3,0.134,29,0
2,197,70,45,543,30.5,0.158,53,1
8,125,96,0,0,0,0.232,54,1
4,110,92,0,0,37.6,0.191,30,0
10,168,74,0,0,38,0.537,34,1
10,139,80,0,0,27.1,1.441,57,0
1,189,60,23,846,30.1,0.398,59,1
5,166,72,19,175,25.8,0.587,51,1
7,100,0,0,0,30,0.484,32,1
0,118,84,47,230,45.8,0.551,31,1

Nel file csv, le prime otto colonne esprimono i seguenti valori:

1) Pregnancies. Rappresenta il numero di volte che il paziente è rimasto incinta.

2) Glucose. Concentrazione di glucosio plasmatico a 2 ore in un test di tolleranza al glucosio orale.

3) BloodPressure. Pressione sanguigna diastolitica, la cosidetta pressione minima, misurata in mm Hg.

4) SkinThickness. Spessore della piega cutanea del tricipite misurata in mm.

5) Insulin. Insulina sierica di 2 ore misurata in mu U/ml.

6) BMI. indice di massa corporea calcolata dalla seguente formula.

Formula del calcolo dell'indice BMI (Perso corporeo) / Altezza al quadrato
Fig. 1
(Formula del calcolo dell’indice BMI)

7) DiabetesPedigreeFunction. In pratica si tratta di capire se vi è una certa ereditarietà nella comparsa del diabete.

8) Age (età in anni).

Queste colonne costituiscono le nostre variabili indipendenti, ossia le nostre X, mentre l’ultima colonna Outcome rappresenta il risultato finale, ossia, la nostra Y, la variabile dipendente. Quest’ultima se uguale a 0 significa che il paziente non ha sviluppato il diabete, mentre il valore 1 purtroppo, il contrario. Come vedete, tutte le variabili di input e di output sono numeriche e quindi si prestano ad una elaborazione con una rete neurale Keras.

Il codice utilizzato per caricare i dati dal file csv nel dataset diabetes è quello seguente presente nella riga 13.

12  #Importing the Dataset
13 diabetes = pd.read_csv('diabetes_con_headers.csv')
14 dataset = diabetes
15 dataset.info()

Aggiungendo la riga quindici con il metodo info() della classe dataframe si otterranno le seguenti informazioni del “dataset” caricato.

RangeIndex: 768 entries, 0 to 767
Data columns (total 9 columns):
#   Column                    Non-Null Count  Dtype  
---  ------                    --------------  -----  
0   Pregnancies               768 non-null    int64  
1   Glucose                   768 non-null    int64  
2   BloodPressure             768 non-null    int64  
3   SkinThickness             768 non-null    int64  
4   Insulin                   768 non-null    int64  
5   BMI                       768 non-null    float64
6   DiabetesPedigreeFunction  768 non-null    float64
7   Age                       768 non-null    int64  
8   Outcome                   768 non-null    int64  
dtypes: float64(2), int64(7)
memory usage: 54.1 KB

Dai dati ricavati dal metodo info(), si vede come nel dataset non vi valori nulli. Idealmente, e anche operativamente, tali valori potrebbero essere “valorizzati” con la media dei valori della caratteristica.

Prima di continuare con la realizzazione della rete neurale cerchiamo di capire come si distribuiscono i valori delle caratteristiche di input. Con l’aiuto della libreria Seaborn e la libreria Matplotlib eseguiremo delle analisi statistiche sui dati.

Pagina Precedente / Pagina Successiva

No votes yet.
Please wait...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

diciotto + 8 =

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Un commento su “Il modello sequenziale di Keras: un esempio di utilizzo.”