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("\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’])
广告