📜  PyBrain 中的监督数据集是什么?

📅  最后修改于: 2022-05-13 01:54:57.946000             🧑  作者: Mango

PyBrain 中的监督数据集是什么?

在本文中,我们将研究 Pybrain 中监督数据集的各种用途和功能。

数据集是数据的集合,我们在其中为属于数据集的每个成员提供值列表。监督学习之后的监督数据集具有输入和输出字段。在这个例子中,我们将学习如何将监督数据集与 PyBrain 一起使用。要安装 Pybrain,请参阅如何安装 PyBrain?

让我们创建一个 OR 表,其中我们有一个二维数组形式的输入,我们得到一个输出。

0 or 0 -> 0
0 or 1 -> 1
1 or 0 -> 1
1 or 1 -> 1

使用的库:

  • buildNetwork是一种创建由连接到连接的模块组成的网络的简单方法。
  • TanhLayer :构建网络后,我们必须使用一些层 TanhLayer 或 SoftmaxLayer。我们将在示例中使用 TanhLayer。
  • SupervisedDataSet :我们必须为输入和目标字段设置两个值。
  • BackpropTrainer :根据监督数据集进行训练

例子:

在此示例中,在构建网络后,我们将创建两个数据集,一个用于训练,另一个用于测试。

Python
# importing buildNetwork  
# from pybrain.tools.shortcuts
from pybrain.tools.shortcuts import buildNetwork
  
# importing TanhLayer
# from pybrain.structure
from pybrain.structure import TanhLayer
  
# importing SupervisedDataSet
# from pybrain.datasets
from pybrain.datasets import SupervisedDataSet
  
# importing BackpropTrainer
# from pybrain.trainers
from pybrain.supervised.trainers import BackpropTrainer
  
# creating a network with TanhLayer
# two input, two hidden and on output
network = buildNetwork(2, 2, 1, bias=True, hiddenclass=TanhLayer)
  
# Creating a dataset for training
# 2 output
# 1 input
or_train = SupervisedDataSet(2, 1)
  
# Creating a dataset for testing.
or_test = SupervisedDataSet(2, 1)
  
# Adding sample input
# 0 or 0 -> 0
# 0 or 1 -> 1
# 1 or 0 -> 1
# 1 or 1 -> 1
or_train.addSample((0, 0), (0,))
or_train.addSample((0, 1), (1,))
or_train.addSample((1, 0), (1,))
or_train.addSample((1, 1), (1,))
  
# Similarly adding samples for or_test
or_test.addSample((0, 0), (0,))
or_test.addSample((0, 1), (1,))
or_test.addSample((1, 0), (1,))
or_test.addSample((1, 1), (1,))
  
# Training network with dataset or_train.
trainer = BackpropTrainer(network, or_train)
  
# 1000 iteration on training data.
for iteration in range(1000):
  trainer.train()
    
# Testing data
trainer.testOnData(dataset=or_test, verbose = True)


输出: