Page 192 - python
P. 192

166




                    x2 = list(map(lambda a:a**2, x))

                    y2 = list(map(lambda a:a**2, y))
                    xy = list(map(lambda a,b:a*b, x,y))
                    B1 = (sum(xy) - ((sum(x)*sum(y)) / n)) / (sum(x2) - (n * (xmean**2)))
                    B0 = ymean - (B1*xmean)

                    print("สมการ Regression คือ : Y = %.2f + (%.2f * x)"%(B0,B1))
                    error= []
                    for i in range(len(x)):

                        forecast = B0 + (B1 * x[i])
                        actual = y[i]
                        E =  sqrt(1/n * (actual-forecast)**2)
                        error.append(E)
                                                                                 
                        print("อุณหภูมิ %d°C ทนแรงฉีกได %.2f หนวย คํานวณจากสมการได = %.2f หนวย \
                    มีความผิดพลาด = %.2f "%(x[i], y[i], forecast, E))
                    RMSE = sum(error)
                                                                 
                                                     ี
                                               
                                             ่
                                             ี
                                                  ้
                    print("คา RMSE ของโมเดลทสรางขึนมคา = %.2f หนวย"%RMSE)

                   ผลลัพธ :
                    สมการ Regression คือ : Y = 0.10 + (0.03 * x)
                                        ี
                     ุ
                                           
                                                                                            ิ
                                                                                  
                    อณหภูมิ 70°C ทนแรงฉกได 2.30 หนวย คํานวณจากสมการได = 2.32 หนวย มีความผดพลาด = 0.00
                                           
                                                                                            ิ
                    อณหภูมิ 70°C ทนแรงฉกได 2.60 หนวย คํานวณจากสมการได = 2.32 หนวย มีความผดพลาด = 0.08
                                                                                  
                     ุ
                                        ี
                                                                                  
                                                                                            ิ
                    อณหภูมิ 70°C ทนแรงฉกได 2.10 หนวย คํานวณจากสมการได = 2.32 หนวย มีความผดพลาด = 0.06
                                        ี
                     ุ
                                           
                                                                                  
                                        ี
                     ุ
                                           
                                                                                            ิ
                    อณหภูมิ 80°C ทนแรงฉกได 2.50 หนวย คํานวณจากสมการได = 2.63 หนวย มีความผดพลาด = 0.04
                                           
                                                   
                    อุณหภูมิ 80°C ทนแรงฉกได 2.90 หนวย คานวณจากสมการได = 2.63 หนวย มีความผิดพลาด = 0.08
                                        ี
                                                                                  
                                                                        
                                                       ํ
                    อณหภูมิ 80°C ทนแรงฉกได 2.40 หนวย คํานวณจากสมการได = 2.63 หนวย มีความผดพลาด = 0.07
                     ุ
                                                                                            ิ
                                        ี
                                           
                                                                                  
                                                                                            ิ
                     ุ
                                                                                  
                                        ี
                    อณหภูมิ 90°C ทนแรงฉกได 3.00 หนวย คํานวณจากสมการได = 2.95 หนวย มีความผดพลาด = 0.01
                                           
                                                                                  
                                                                                            ิ
                                           
                    อณหภูมิ 90°C ทนแรงฉกได 3.10 หนวย คํานวณจากสมการได = 2.95 หนวย มีความผดพลาด = 0.04
                                        ี
                     ุ
                                                                                            ิ
                                        ี
                                                                                  
                     ุ
                    อณหภูมิ 90°C ทนแรงฉกได 2.80 หนวย คํานวณจากสมการได = 2.95 หนวย มีความผดพลาด = 0.04
                                           
                                         ี
                    อุณหภูมิ 100°C ทนแรงฉกได 3.30 หนวย คํานวณจากสมการได = 3.27 หนวย มีความผิดพลาด = 0.01
                    อุณหภูมิ 100°C ทนแรงฉกได 3.50 หนวย คํานวณจากสมการได = 3.27 หนวย มีความผิดพลาด = 0.07
                                         ี
                    อุณหภูมิ 100°C ทนแรงฉกได 3.00 หนวย คํานวณจากสมการได = 3.27 หนวย มีความผิดพลาด = 0.08
                                         ี
                                       ี
                     
                                            ้
                                               ี
                    คา RMSE ของโมเดลทสรางขึนมคา = 0.59 หนวย
                                       ่
                                  ่
                           ั
                                                                                           ื
                          ตวอยางท 12.12 เปนการคํานวณหาคา B0 และ B1 เมือ lambda a:a**2 คอ ฟงกชนยกกาลง
                                                                                                 ั
                                                                                                 ่
                                                                                                
                                           
                                                                                                         ั
                                                                                                      ํ
                                                                        ่
                                  ี
                                                                                              
                                                                                             ั
                                                                                                         
                                                                                             ่
                                                                                                  ํ
                   สอง  lambda  a,b:a*b  คือฟงกชันคูณคาตวเลขสองคา  หลงจากไดสมการลิเนยรรเกรสชนใหคานวณคา
                                                        ั
                                                                 
                                                                     ั
                                            
                                               
                                                ่
                                                                                     ี
                                                                                       
                                                                                        ี
                   Error ของคา x และคําตอบ y เมื่อ E = sqrt(1/n * (actual – forcast) ** 2)  คา actual คือคาคําตอบ
                   จริงซึ่งอยูในตัวแปร y สวน forcast เปนคําตอบที่ไดจากการคํานวณจากสมการเสนตรงทสรางขึ้น คาความ
                                                                                           ี่
                                                                     ่
                                                                                      
                               ็
                                                                                        
                   ผิดพลาดจะเกบไวในตัวแปร error ใหคํานวณผลรวมดวยคาสัง sum(error) จะเปนคา RMSE
                                                                   ํ
                                                  
   187   188   189   190   191   192   193   194   195   196   197