Pybrain 简明教程

PyBrain - Working with Datasets

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

  1. Creating Dataset

  2. Adding Data to Dataset

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

Creating Dataset

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

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

SupervisedDataset dataset 需要参数 input 和 target。考虑一个 XOR 真值表,如下所示 −

A

B

A XOR B

0

0

0

0

1

1

1

0

1

1

1

0

给定的输入像一个二维数组,我们得到一个输出。所以这里的输入变成大小,目标是输出 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 的目标。

Adding Data to Dataset

现在,我们向数据集添加示例数据。

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

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

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

要向数据集添加数据,我们使用 addSample() 方法,它输入 input 和 target。

以下所示,我们将遍历 xorModel 数组以将数据添加到 addSample 中 −

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