Il modello sequenziale di Keras: un esempio di utilizzo.

Il modello sequenziale di Keras: un esempio di utilizzo.

Aprile 6, 2022 1 Di Ruggero Grando

Per poter lavorare con le reti neurali abbiamo bisogno di alcuni tools in grado di semplificarne la realizzazione. In questo articolo parleremo di Keras, un interfaccia ,in grado di gestire la comunicazione con i frameworks di apprendimento automatico Theano, TensorFlow o Microsoft Cognitive ToolKit.

Keras, offre essenzialmente due modelli di reti neurali: quello sequenziale e quello funzionale. Il modello sequenziale è quello più semplice, e può essere rappresentato da una pila di livelli. Tali, ci permetteranno di costruire strato per strato il modello finale di rete neurale. Per capire, come si crea un modello sequenziale utilizzeremo l’esempio classico dell’analisi predittiva del diabete nella popolazione degli indiani Pima dell’Arizona.

L’obiettivo di questo esempio, è quello di elaborare una previsione se una persona del gruppo dei Pima Indians è affetto da diabete o è a rischio di svilupparlo.

I PREREQUISITI

I prerequisiti richiesti per affrontare la lettura di questo articolo sono i seguenti:

  1. Python3 installato e configurato su un ambiente Windows o GNU/Linux.
  2. Un backend Keras (Theano o TensorFlow) installato.
  3. Un editor di coding (Visual Studio Code o altro).

Nell’esempio che seguirà, ho utilizzato un sistema GNU/Linux, il backend TensorFlow e l’editor di coding Visual Studio Code.

LE FASI DI SVILUPPO DEL MODELLO DI RETE NEURALE

Prima di scrivere del codice in Python cerchiamo di capire quali sono le fasi per lo sviluppo di questo modello di rete neurale.

Essenzialmente le fasi possono essere così descritte:

  1. Caricamento delle classi e delle funzioni specifiche
  2. Caricamento dei dati di interesse
  3. Analisi dei dati
  4. Definizione del modello Keras
  5. Compilazione del modello Keras
  6. Addestramento del modello Keras
  7. Valutazione del modello Keras
  8. Predizione del modello Keras

Ora, che abbiamo una traccia da seguire per lo sviluppo del modello della rete neurale iniziamo dal primo punto, il caricamento delle classi e delle funzioni specifiche richieste.

CARICAMENTO DELLE CLASSI E DELLE FUNZIONI SPECIFICHE

Iniziamo, e dall’editor Visual Studio Code aggiungiamo un primo file, che per semplicità, chiamerò Example_1.py. In questo file aggiungeremo, per prima cosa, le righe successive.

1  import numpy as np
2  import pandas as pd
3  from keras.models import Sequential
4  from keras.layers import Dense
5  import seaborn as sea
6  import matplotlib.pyplot as plt
7  from pandas_profiling import ProfileReport
8  from scipy.stats import pearsonr
9  from sklearn.preprocessing import StandardScaler
10 import keras.callbacks
11 from datetime import datetime

La prima cosa da fare è definire quali classi di Python utilizzare e quindi per la creazione del nostro modello di rete neurale. La prima classe da utilizzare è Numpy e nella prima riga trovate il codice per importarla. Si tratta di una libreria che offre diverse funzioni per il calcolo scientifico, adatta in particolar modo per il calcolo matriciale e vettoriale. Il codice della seconda riga “importa” il modulo Pandas per la gestione dei dataframe. Nella terza riga, dal modello Keras si esegue l’import del modello Sequenziale e con la quarta riga dai livelli Keras importiamo il livello Dense. Con la quinta riga carichiamo la libreria Seaborn che ci aiuterà a costruire i grafici. Continuando, con la sesta riga importiamo la libreria Matplotlib che verrà utilizzata per rappresentare dei grafici, mentre la settima riga ci preparerà in automatico dei report per l’analisi delle diverse features presenti nel dataset di input. Con il codice presente nell’ottava riga si importa la libreria pearsonr per calcolare il coefficiente di correlazione e con la nona riga si “carica” dal modulo sklearn la classe StandardScaler che ci aiuterà in seguito a standardizzare i dati correttamente. La decima riga utilizza l’oggetto callback per poter salvare i logs del training del modello della rete neurale. Infine, con l’undicesima riga importiamo la classe datetime.

Come vedete prima di iniziare lo sviluppo del modello abbiamo la necessità di importare diverse librerie che ci aiuteranno a rappresentarlo, costruirlo e valutarlo nel modo migliore.

Pagina Successiva

No votes yet.
Please wait...

Pagine: 1 2 3 4 5 6 7 8 9 10