Traccia l'istogramma degli errori per una rete neurale
Questo esempio mostra come visualizzare gli errori tra i valori target e i valori previsti dopo aver addestrato una rete neurale feedforward.
Leggi i dati dal canale ThingSpeak™ della stazione meteorologica
Il canale ThingSpeak 12397 contiene i dati della stazione meteorologica MathWorks® , situata a Natick, Massachusetts. I dati vengono raccolti una volta ogni minuto. I campi 2, 3, 4 e 6 contengono rispettivamente i dati sulla velocità del vento (mph), sull'umidità relativa, sulla temperatura (F) e sulla pressione atmosferica (inHg). Leggi i dati dal canale 12397 utilizzando la funzione thingSpeakRead
.
data = thingSpeakRead(12397,'Fields',[2 3 4 6],'Numpoints',500,'outputFormat','table');
Assegna variabili di input e valori target
Assegna variabili di input e calcola il punto di rugiada dalla temperatura e dall'umidità relativa da utilizzare come target. Converti la temperatura da Fahrenheit a Celsius e specifica le costanti per il vapore acqueo (b) e la pressione barometrica (c). Calcola il valore intermedio "gamma" e assegna i valori target per la rete.
inputs = [data.Humidity'; data.TemperatureF'; data.PressureHg'; data.WindSpeedmph']; tempC = (5/9)*(data.TemperatureF-32); b = 17.62; c = 243.5; gamma = log(data.Humidity/100) + b*tempC ./ (c+tempC); dewPointC = c*gamma ./ (b-gamma); dewPointF = (dewPointC*1.8) + 32; targets = dewPointF';
Crea e addestra la rete feedforward a due livelli
Utilizza la funzione feedforwardnet
per creare una rete feedforward a due livelli. La rete ha uno strato nascosto con 10 neuroni e uno strato di output. Utilizza la funzione train
per addestrare la rete feedforward utilizzando gli input.
net = feedforwardnet(10); [net,tr] = train(net,inputs,targets);
Utilizza il modello addestrato per prevedere i dati
Dopo che la rete è stata addestrata e convalidata, è possibile utilizzare l'oggetto di rete per calcolare la risposta della rete a qualsiasi input, in questo caso il punto di rugiada per il quinto punto dati di input.
outputs = net(inputs(:,5))
outputs = 22.8618
Traccia l'istogramma degli errori
Calcola i valori di errore come differenza tra i valori target e i valori previsti.
error = targets - outputs;
number_of_bins = 10;
ploterrhist(error,'bins',number_of_bins);
Il grafico mostra un istogramma di errore con 10 contenitori.
Vedi anche
Funzioni
train
(Deep Learning Toolbox) |feedforwardnet
(Deep Learning Toolbox) |ploterrhist
(Deep Learning Toolbox) |thingSpeakRead