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