PyBrain - 使用数据集

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

  • 创建数据集
  • 向数据集添加数据

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

创建数据集

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

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

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

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

给出的输入就像一个二维数组,我们得到 1 个输出。所以这里的输入变成了大小,目标是输出 1。所以我们的数据集的输入将是 2,1。

createdataset.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 的目标,如上所示。

将数据添加到数据集

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

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("
Target 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’])