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