PyBrain - Trabalhando com conjuntos de dados
Conjuntos de dados são dados de entrada a serem fornecidos para testar, validar e treinar redes. O tipo de conjunto de dados a ser usado depende das tarefas que faremos com o aprendizado de máquina. Neste capítulo, vamos dar uma olhada no seguinte -
- Criando conjunto de dados
- Adicionando dados ao conjunto de dados
Vamos primeiro aprender como criar um conjunto de dados e testar o conjunto de dados com a entrada fornecida.
Criando conjunto de dados
Para criar um conjunto de dados, precisamos usar o pacote de conjunto de dados pybrain: pybrain.datasets.
Pybrain suporta classes de conjuntos de dados como SupervisedDataset, SequentialDataset, ClassificationDataSet. Vamos fazer uso deSupervisedDataset , para criar nosso conjunto de dados. O conjunto de dados a ser usado depende da tarefa de aprendizado de máquina que o usuário está tentando implementar. O conjunto de dados supervised é o mais simples e vamos usar o mesmo aqui.
UMA SupervisedDataset datasetprecisa de entrada e destino de parâmetros. Considere uma tabela de verdade XOR, conforme mostrado abaixo -
UMA | B | A XOR B |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
As entradas fornecidas são como uma matriz bidimensional e obtemos 1 saída. Portanto, aqui a entrada torna-se o tamanho e o destino é a saída que é 1. Portanto, as entradas que irão para o nosso conjunto de dados serão 2,1.
createdataset.py
from pybrain.datasets import SupervisedDataSet
sds = SupervisedDataSet(2, 1)
print(sds)
Isso é o que obtemos quando executamos o código acima python createdataset.py -
C:\pybrain\pybrain\src>python createdataset.py
input: dim(0, 2)
[]
target: dim(0, 1)
[]
Ele exibe a entrada de tamanho 2 e destino de tamanho 1 conforme mostrado acima.
Adicionando dados ao conjunto de dados
Vamos agora adicionar os dados de amostra ao conjunto de dados.
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'])
Criamos uma matriz XORModel conforme mostrado abaixo -
xorModel = [
[(0,0), (0,)],
[(0,1), (1,)],
[(1,0), (1,)],
[(1,1), (0,)],
]
Para adicionar dados ao conjunto de dados, estamos usando o método addSample () que recebe a entrada e o destino.
Para adicionar dados ao addSample, faremos um loop pela matriz xorModel conforme mostrado abaixo -
for input, target in xorModel:
sds.addSample(input, target)
Após a execução, o seguinte é a saída que obtemos -
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.]]
Você pode obter os detalhes de entrada e destino do conjunto de dados criado simplesmente usando o índice de entrada e destino conforme mostrado abaixo -
print(sds['input'])
print(sds[‘target’])