Main Content

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la versión original en inglés.

Trazar histograma de error para una red neuronal

Este ejemplo muestra cómo visualizar los errores entre los valores objetivo y los valores predichos después de entrenar una red neuronal feedforward.

Leer datos del canal ThingSpeak™ de la estación meteorológica

El canal ThingSpeak 12397 contiene datos de la estación meteorológica MathWorks®, ubicada en Natick, Massachusetts. Los datos se recopilan una vez cada minuto. Los campos 2, 3, 4 y 6 contienen datos de velocidad del viento (mph), humedad relativa, temperatura (F) y presión atmosférica (inHg), respectivamente. Lea los datos del canal 12397 usando el thingSpeakRead función.

data = thingSpeakRead(12397,'Fields',[2 3 4 6],'Numpoints',500,'outputFormat','table');

Asignar variables de entrada y valores objetivo

Asigne variables de entrada y calcule el punto de rocío a partir de la temperatura y la humedad relativa para usar como objetivo. Convierta la temperatura de Fahrenheit a Celsius y especifique las constantes para el vapor de agua (b) y la presión barométrica (c). Calcule el valor intermedio 'gamma' y asigne valores objetivo para la red.

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';

Crear y entrenar la red feedforward de dos capas

Utilizar el feedforwardnet función para crear una red feedforward de dos capas. La red tiene una capa oculta con 10 neuronas y una capa de salida. Utilizar el train para entrenar la red feedforward usando las entradas.

net = feedforwardnet(10);
[net,tr] = train(net,inputs,targets);

Usar el modelo entrenado para predecir datos

Después de entrenar y validar la red, puede usar el objeto de red para calcular la respuesta de la red a cualquier entrada, en este caso, el punto de rocío para el quinto punto de datos de entrada.

outputs = net(inputs(:,5))
outputs =

   22.8618

Trazar el histograma de error

Calcule los valores de error como la diferencia entre los valores objetivo y los valores predichos.

error = targets - outputs;
number_of_bins = 10;
ploterrhist(error,'bins',number_of_bins);

El gráfico muestra un histograma de error con 10 contenedores.

Consulte también

Funciones