PyBrain - praca z zestawami danych

Zbiory danych to dane wejściowe, które mają być podawane do testowania, walidacji i szkolenia sieci. Rodzaj używanego zestawu danych zależy od zadań, które będziemy wykonywać w ramach uczenia maszynowego. W tym rozdziale przyjrzymy się następującym -

  • Tworzenie zbioru danych
  • Dodawanie danych do zbioru danych

Najpierw nauczymy się, jak utworzyć zestaw danych i przetestować zestaw danych z podanymi danymi wejściowymi.

Tworzenie zbioru danych

Aby utworzyć zbiór danych, musimy użyć pakietu pybrain dataset: pybrain.datasets.

Pybrain obsługuje klasy zestawów danych, takie jak SupervisedDataset, SequentialDataset, ClassificationDataSet. Zamierzamy skorzystaćSupervisedDataset , aby utworzyć nasz zestaw danych. Zbiór danych, który ma być użyty, zależy od zadania uczenia maszynowego, które użytkownik próbuje zaimplementować. SupervisedDataset jest najprostszym z nich i zamierzamy użyć tego samego tutaj.

ZA SupervisedDataset datasetwymaga wprowadzenia parametrów i celu. Rozważ tabelę prawdy XOR, jak pokazano poniżej -

ZA b A XOR B.
0 0 0
0 1 1
1 0 1
1 1 0

Podane dane wejściowe są jak dwuwymiarowa tablica i otrzymujemy 1 wyjście. Więc tutaj wejście staje się rozmiarem, a celem jest wyjściem, które wynosi 1. Zatem dane wejściowe, które trafią do naszego zbioru danych, będą wynosić 2,1.

createdataset.py

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

Oto, co otrzymujemy, gdy wykonamy powyższy kod python createdataset.py -

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

Wyświetla wejście rozmiaru 2 i cel rozmiaru 1, jak pokazano powyżej.

Dodawanie danych do zbioru danych

Dodajmy teraz przykładowe dane do zbioru danych.

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

Utworzyliśmy tablicę XORModel, jak pokazano poniżej -

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

Aby dodać dane do zbioru danych, używamy metody addSample (), która pobiera dane wejściowe i docelowe.

Aby dodać dane do addSample, przejdziemy przez tablicę xorModel, jak pokazano poniżej -

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

Po wykonaniu otrzymujemy następujące dane wyjściowe -

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

Możesz uzyskać dane wejściowe i docelowe ze zbioru danych utworzonego po prostu używając indeksu wejściowego i docelowego, jak pokazano poniżej -

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