¿Qué es un conjunto de datos supervisado en PyBrain?

En este artículo, veremos los diversos usos y funciones del conjunto de datos supervisado en Pybrain.

Un conjunto de datos es una colección de datos donde le damos la lista de valores a cada miembro que pertenece al conjunto de datos. Un conjunto de datos supervisado que sigue al aprendizaje supervisado tiene campos de entrada y salida. En este ejemplo, aprenderemos a usar un conjunto de datos supervisado con PyBrain. Para instalar Pybrain, consulte ¿Cómo instalar PyBrain?

Vamos a crear una tabla OR en la que tengamos una entrada en forma de array bidimensional y obtengamos una salida.

0 or 0 -> 0
0 or 1 -> 1
1 or 0 -> 1
1 or 1 -> 1

Bibliotecas utilizadas:

  • buildNetwork es una forma sencilla de crear redes que se componen de módulos conectados con conexiones.
  • TanhLayer : después de construir una red, debemos usar alguna capa, ya sea TanhLayer o SoftmaxLayer. Usaremos TanhLayer en nuestro ejemplo.
  • SupervisedDataSet : tenemos que establecer dos valores para los campos de entrada y de destino.
  • BackpropTrainer : Para entrenar según el conjunto de datos supervisado

Ejemplo:

En este ejemplo, después de construir una red, crearemos dos conjuntos de datos, uno para entrenamiento y otro para prueba.

Python

# importing buildNetwork  
# from pybrain.tools.shortcuts
from pybrain.tools.shortcuts import buildNetwork
  
# importing TanhLayer
# from pybrain.structure
from pybrain.structure import TanhLayer
  
# importing SupervisedDataSet
# from pybrain.datasets
from pybrain.datasets import SupervisedDataSet
  
# importing BackpropTrainer
# from pybrain.trainers
from pybrain.supervised.trainers import BackpropTrainer
  
# creating a network with TanhLayer
# two input, two hidden and on output
network = buildNetwork(2, 2, 1, bias=True, hiddenclass=TanhLayer)
  
# Creating a dataset for training
# 2 output
# 1 input
or_train = SupervisedDataSet(2, 1)
  
# Creating a dataset for testing.
or_test = SupervisedDataSet(2, 1)
  
# Adding sample input
# 0 or 0 -> 0
# 0 or 1 -> 1
# 1 or 0 -> 1
# 1 or 1 -> 1
or_train.addSample((0, 0), (0,))
or_train.addSample((0, 1), (1,))
or_train.addSample((1, 0), (1,))
or_train.addSample((1, 1), (1,))
  
# Similarly adding samples for or_test
or_test.addSample((0, 0), (0,))
or_test.addSample((0, 1), (1,))
or_test.addSample((1, 0), (1,))
or_test.addSample((1, 1), (1,))
  
# Training network with dataset or_train.
trainer = BackpropTrainer(network, or_train)
  
# 1000 iteration on training data.
for iteration in range(1000):
  trainer.train()
    
# Testing data
trainer.testOnData(dataset=or_test, verbose = True)

Producción:

Publicación traducida automáticamente

Artículo escrito por unknwncdr878 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *