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