PyBrain - Lavorare con i set di dati

I set di dati sono dati di input da fornire per testare, convalidare e addestrare le reti. Il tipo di set di dati da utilizzare dipende dalle attività che verranno eseguite con Machine Learning. In questo capitolo daremo uno sguardo a quanto segue:

  • Creazione di set di dati
  • Aggiunta di dati al set di dati

Impareremo prima come creare un set di dati e testarlo con l'input fornito.

Creazione di set di dati

Per creare un set di dati dobbiamo utilizzare il pacchetto del set di dati pybrain: pybrain.datasets.

Pybrain supporta classi di set di dati come SupervisedDataset, SequentialDataset, ClassificationDataSet. Ci accingiamo a utilizzareSupervisedDataset , per creare il nostro set di dati. Il set di dati da utilizzare dipende dall'attività di apprendimento automatico che l'utente sta cercando di implementare. Il set di dati supervisionato è il più semplice e utilizzeremo lo stesso qui.

UN SupervisedDataset datasetnecessita di input e target dei parametri. Considera una tabella di verità XOR, come mostrato di seguito:

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

Gli input forniti sono come un array bidimensionale e otteniamo 1 output. Quindi qui l'input diventa la dimensione e il target è l'output che è 1. Quindi gli input che andranno per il nostro set di dati saranno 2,1.

createdataset.py

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

Questo è ciò che otteniamo quando eseguiamo il codice precedente python createdataset.py -

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

Visualizza l'input della dimensione 2 e l'obiettivo della dimensione 1 come mostrato sopra.

Aggiunta di dati al set di dati

Aggiungiamo ora i dati di esempio al set di dati.

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'])

Abbiamo creato un array XORModel come mostrato di seguito -

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

Per aggiungere dati al set di dati, stiamo usando il metodo addSample () che accetta input e target.

Per aggiungere dati a addSample, eseguiremo un ciclo attraverso l'array xorModel come mostrato di seguito -

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

Dopo l'esecuzione, il seguente è l'output che otteniamo:

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.]]

È possibile ottenere i dettagli di input e di destinazione dal set di dati creato semplicemente utilizzando l'input e l'indice di destinazione come mostrato di seguito:

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