Page 184 - python
P. 184

158




                   ผลลัพธ :

                    A=1 B=1 C=1 D=1 E=0 F=1 G=1 คือเลข 9
                          ตัวอยางที่ 12.2 คําสั่ง numpy เปนไลบรารี่สําหรับการคํานวณทางคณิตศาสตร และ
                                                                                  ึ้
                                  
                                                                             ี่
                   MLPClassifier เปนคลาสที่ใชสรางโมเดลและทํานายผลจากโมเดลทสรางขนดวยวิธี Neural Network
                   ภายในไลบรารี่ sklearn ตัวแปร x จะเก็บขอมูล input ตัวแปร y เก็บขอมูลผลลัพธ จากนั้นสรางโมเดล
                   ดวยวิธี Neural Network โดยกาหนด iteral คือการวนรอบการสอน 1000 รอบ จากนั้นเริ่ม train ดวย
                                              ํ
                                                                
                   คําสั่ง model.fit(x,y) ซึ่งเปนการเรียนรูจากขอมูลเขาคือ x และขอมูลผลลัพธ คือ y โมเดลจะเรียนรู
                   จนกระทั่งไดโมเดลที่สามารถนําไปใชเปนตัวแทนของขอมูล 7-segment ชุดนี้ได  คําสั่ง predict() ใช

                                                               ั
                   ทํานายผลลัพธ เชน กําหนดใหตัวแปร A-G มีคาเทากบ 1 ทั้งหมดยกเวน F=0 ซึ่งเมื่อสงเขาไปทํานายผล
                   โมเดลจะตอบวาเปนเลข 9 ซึ่งทํางานไดอยางถูกตอง วิธีการทาง Machine Learning เปนวิธีที่งายและ
                   สะดวกมากเมื่อเทยบกบการเขียนโปรแกรมแบบเกาที่ตองกาหนดเงื่อนไขตาง ๆ ยุงยากและวุนวายใน
                                                              
                                      ั
                                  ี
                                                                      ํ
                                                             
                   ขณะที่การเรียนรูของเครื่องจักรแกปญหาเดียวกันไดอยางสะดวกรวดเร็วและมีประสิทธิภาพ

                   ตัวอยางที่ 12.3 การแสดงคําตอบของ seven segment จากโมเดลที่สรางขึ้น
                    for i in x:
                        z = model.predict([i])[0]

                        print("%s = %d"%(str(i),z))

                   ผลลัพธ :
                    [1 1 1 1 1 1 0] = 0

                    [0 1 1 0 0 0 0] = 1
                    [1 1 0 1 1 0 1] = 2
                    [1 1 1 1 0 0 1] = 3

                    [0 1 1 0 0 1 1] = 4
                    [1 0 1 1 0 1 1] = 5
                    [1 0 1 1 1 1 1] = 6
                    [1 1 1 0 0 1 0] = 7

                    [1 1 1 1 1 1 1] = 8
                    [1 1 1 1 0 1 1] = 9
                                                      ั
                          ตัวอยางท 12.3 การวนเขาไปในตวแปร x ซงมีคาตัวแปร A-G แตละแบบทีแตกตางกนไปและแทน
                                                                                       ่
                                                                                               ั
                                                                 
                                                              ่
                                                              ึ
                                  ี
                                  ่
                   ดวยตัวเลข 7-Segment ของเลขแตละตัว พบวาโมเดลที่สรางขึ้นจาก Machine Learning ใหผลลัพธที่
                   ถูกตองทก ๆ คําตอบ ของเลข 7-Segment
                          ุ

                             ั
                               ึ
                                                 ั
                   12.4 การบนทกและโหลดโมเดลกลบมาใชงาน
                          โมเดลที่สรางขึ้นมาแลวนั้นสามารถบันทึกและนํากลับมาใชทํานายผลไดโดยไมตองมาสรางโมเดล
                                                                                             ี
                                             ื่
                   ขึ้นใหม โดยใชคําสั่ง pickle เพอเก็บโมเดลนั้นลงในไฟล และเรียกกลับมาใชทานายไดอกเทาที่ตองการ
                                                                                     ํ
                   แสดงการบันทึกโมเดล ดังนี้
   179   180   181   182   183   184   185   186   187   188   189