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