PyBrain - 使用数据集


数据集是用于测试、验证和训练网络的输入数据。要使用的数据集类型取决于我们要使用机器学习执行的任务。在本章中,我们将看看以下内容 -

  • 创建数据集
  • 将数据添加到数据集

我们将首先学习如何创建数据集并使用给定的输入测试数据集。

创建数据集

要创建数据集,我们需要使用 pybrain 数据集包:pybrain.datasets

Pybrain 支持数据集类,如SupervisedDataset、 SequentialDataset 、 ClassificationDataSet 。我们将利用SupervisedDataset来创建我们的数据集。要使用的数据集取决于用户尝试实现的机器学习任务。SupervisedDataset 是最简单的一个,我们将在这里使用相同的数据集。

SupervisedDataset 数据集需要参数输入和目标。考虑一个异或真值表,如下所示 -

A 异或B
0 0 0
0 1 1
1 0 1
1 1 0

给出的输入就像一个二维数组,我们得到 1 个输出。因此,这里输入变为大小,目标变为输出 1。因此,数据集的输入将为 2,1。

创建数据集.py

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

这是当我们执行上面的代码时得到的结果 python createdataset.py -

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

它显示大小 2 的输入和大小 1 的目标,如上所示。

将数据添加到数据集

现在让我们将示例数据添加到数据集中。

创建数据集.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'])

我们创建了一个 XORModel 数组,如下所示 -

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

为了将数据添加到数据集中,我们使用 addSample() 方法来接收输入和目标。

要将数据添加到 addSample,我们将循环访问 xorModel 数组,如下所示 -

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

执行后,我们得到的输出如下:

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

您可以通过简单地使用输入和目标索引从创建的数据集中获取输入和目标详细信息,如下所示 -

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