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