PyBrain - การทำงานกับชุดข้อมูล

ชุดข้อมูลเป็นข้อมูลอินพุตที่จะให้เพื่อทดสอบตรวจสอบและฝึกอบรมเครือข่าย ประเภทของชุดข้อมูลที่จะใช้ขึ้นอยู่กับงานที่เราจะทำด้วย Machine Learning ในบทนี้เราจะมาดูสิ่งต่อไปนี้ -

  • การสร้างชุดข้อมูล
  • การเพิ่มข้อมูลลงในชุดข้อมูล

ก่อนอื่นเราจะเรียนรู้วิธีสร้างชุดข้อมูลและทดสอบชุดข้อมูลด้วยอินพุตที่กำหนด

การสร้างชุดข้อมูล

ในการสร้างชุดข้อมูลเราจำเป็นต้องใช้ชุดข้อมูล pybrain: pybrain.datasets.

Pybrain รองรับคลาสชุดข้อมูลเช่น SupervisedDataset, SequentialDataset, ClassificationDataSet. เราจะใช้ประโยชน์จากไฟล์SupervisedDataset เพื่อสร้างชุดข้อมูลของเราชุดข้อมูลที่จะใช้ขึ้นอยู่กับงานการเรียนรู้ของเครื่องที่ผู้ใช้พยายามนำไปใช้ชุดข้อมูลที่ได้รับการดูแลเป็นชุดที่ง่ายที่สุดและเราจะใช้ชุดข้อมูลเดียวกันที่นี่

SupervisedDataset datasetต้องการอินพุตพารามิเตอร์และเป้าหมาย พิจารณาตารางความจริง XOR ดังที่แสดงด้านล่าง -

ก XOR ข
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’])