PyBrain-データセットの操作

データセットは、ネットワークをテスト、検証、トレーニングするために提供される入力データです。使用するデータセットのタイプは、機械学習で実行するタスクによって異なります。この章では、次のことを見ていきます。

  • データセットの作成
  • データセットへのデータの追加

最初に、データセットを作成し、指定された入力を使用してデータセットをテストする方法を学習します。

データセットの作成

データセットを作成するには、pybrainデータセットパッケージを使用する必要があります。 pybrain.datasets

Pybrainは次のようなデータセットクラスをサポートしています SupervisedDataset、SequentialDataset、ClassificationDataSet。活用していきますSupervisedDataset 、データセットを作成します。使用するデータセットは、ユーザーが実装しようとしている機械学習タスクによって異なります。SupervisedDatasetは最も単純なものであり、ここでは同じものを使用します。

A SupervisedDataset datasetparams入力とターゲットが必要です。以下に示すように、XOR真理値表を考えてみましょう-

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

与えられた入力は2次元配列のようなもので、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’])