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’])
廣告
© . All rights reserved.