PyBrain - Travailler avec des ensembles de données

Les jeux de données sont des données d'entrée à fournir pour tester, valider et former les réseaux. Le type de jeu de données à utiliser dépend des tâches que nous allons effectuer avec le Machine Learning. Dans ce chapitre, nous allons examiner ce qui suit -

  • Créer un jeu de données
  • Ajout de données à l'ensemble de données

Nous allons d'abord apprendre comment créer un ensemble de données et tester l'ensemble de données avec l'entrée donnée.

Créer un jeu de données

Pour créer un ensemble de données, nous devons utiliser le package d'ensemble de données pybrain: pybrain.datasets.

Pybrain prend en charge les classes de jeux de données comme SupervisedDataset, SequentialDataset, ClassificationDataSet. Nous allons utiliserSupervisedDataset , pour créer notre ensemble de données.L'ensemble de données à utiliser dépend de la tâche d'apprentissage automatique que l'utilisateur essaie d'implémenter.SupervisedDataset est le plus simple et nous allons utiliser la même chose ici.

UNE SupervisedDataset datasetnécessite l'entrée et la cible des paramètres. Considérez une table de vérité XOR, comme indiqué ci-dessous -

UNE B A XOR B
0 0 0
0 1 1
1 0 1
1 1 0

Les entrées données sont comme un tableau à 2 dimensions et nous obtenons 1 sortie. Donc, ici, l'entrée devient la taille et la cible la sortie qui est 1. Ainsi, les entrées qui iront pour notre jeu de données seront 2,1.

createdataset.py

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

C'est ce que nous obtenons lorsque nous exécutons le code ci-dessus python createdataset.py -

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

Il affiche l'entrée de taille 2 et la cible de taille 1 comme indiqué ci-dessus.

Ajout de données à l'ensemble de données

Ajoutons maintenant les exemples de données à l'ensemble de données.

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

Nous avons créé un tableau XORModel comme indiqué ci-dessous -

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

Pour ajouter des données à l'ensemble de données, nous utilisons la méthode addSample () qui prend en entrée et en cible.

Pour ajouter des données à addSample, nous allons parcourir le tableau xorModel comme indiqué ci-dessous -

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

Après l'exécution, voici la sortie que nous obtenons -

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

Vous pouvez obtenir les détails d'entrée et de cible à partir de l'ensemble de données créé en utilisant simplement l'index d'entrée et de cible comme indiqué ci-dessous -

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