PyBrain: trabajar con conjuntos de datos

Los conjuntos de datos son datos de entrada que se proporcionarán para probar, validar y entrenar redes. El tipo de dataset a utilizar depende de las tareas que vayamos a hacer con Machine Learning. En este capítulo, veremos lo siguiente:

  • Crear conjunto de datos
  • Agregar datos al conjunto de datos

Primero aprenderemos cómo crear un conjunto de datos y probar el conjunto de datos con la entrada proporcionada.

Crear conjunto de datos

Para crear un conjunto de datos, necesitamos usar el paquete de conjunto de datos pybrain: pybrain.datasets.

Pybrain admite clases de conjuntos de datos como SupervisedDataset, SequentialDataset, ClassificationDataSet. Vamos a hacer uso deSupervisedDataset , para crear nuestro conjunto de datos. El conjunto de datos que se utilizará depende de la tarea de aprendizaje automático que el usuario esté tratando de implementar. SupervisedDataset es el más simple y vamos a usar el mismo aquí.

UN SupervisedDataset datasetnecesita entrada de parámetros y destino. Considere una tabla de verdad XOR, como se muestra a continuación:

UN segundo A XOR B
0 0 0
0 1 1
1 0 1
1 1 0

Las entradas que se dan son como una matriz bidimensional y obtenemos 1 salida. Entonces, aquí la entrada se convierte en el tamaño y el objetivo en la salida, que es 1. Entonces, las entradas que se utilizarán para nuestro conjunto de datos serán 2,1.

createdataset.py

from pybrain.datasets import SupervisedDataSet
sds = SupervisedDataSet(2, 1)
print(sds)

Esto es lo que obtenemos cuando ejecutamos el código anterior python createdataset.py -

C:\pybrain\pybrain\src>python createdataset.py
input: dim(0, 2)
[]
target: dim(0, 1)
[]

Muestra la entrada de tamaño 2 y el objetivo de tamaño 1 como se muestra arriba.

Agregar datos al conjunto de datos

Agreguemos ahora los datos de muestra al conjunto de datos.

createdataset.py

from pybrain.datasets import SupervisedDataSet
sds = SupervisedDataSet(2, 1)
xorModel = [
   [(0,0), (0,)],
   [(0,1), (1,)],
   [(1,0), (1,)],
   [(1,1), (0,)],
]
for input, target in xorModel:
sds.addSample(input, target)
print("Input is:")
print(sds['input'])
print("\nTarget is:")
print(sds['target'])

Hemos creado una matriz XORModel como se muestra a continuación:

xorModel = [
   [(0,0), (0,)],
   [(0,1), (1,)],
   [(1,0), (1,)],
   [(1,1), (0,)],
]

Para agregar datos al conjunto de datos, estamos usando el método addSample () que toma la entrada y el objetivo.

Para agregar datos a addSample, recorreremos la matriz xorModel como se muestra a continuación:

for input, target in xorModel:
   sds.addSample(input, target)

Después de ejecutar, lo siguiente es el resultado que obtenemos:

python createdataset.py

C:\pybrain\pybrain\src>python createdataset.py
Input is:
[[0. 0.]
[0. 1.]
[1. 0.]
[1. 1.]]
Target is:
[[0.]
[1.]
[1.]
[0.]]

Puede obtener los detalles de entrada y destino del conjunto de datos creado simplemente usando el índice de entrada y destino como se muestra a continuación:

print(sds['input'])
print(sds[‘target’])