การถดถอยเชิงเส้น

พื้นฐานความน่าจะเป็นด้วย Python

Alexander A. Ramírez M.

CEO @ Synergy Vision

ฟังก์ชันเชิงเส้น

กราฟฟังก์ชันเชิงเส้น

พื้นฐานความน่าจะเป็นด้วย Python

พารามิเตอร์ของฟังก์ชันเชิงเส้น

กราฟฟังก์ชันเชิงเส้น

$$ y = \color{red}{slope}*x + \color{blue}{intercept} $$

พื้นฐานความน่าจะเป็นด้วย Python

ฟังก์ชันเชิงเส้นที่มีการรบกวนแบบสุ่ม

กราฟฟังก์ชันเชิงเส้นที่มีการรบกวนแบบสุ่ม

$$ y = slope*x + intercept + \color{red}{random_number} $$

พื้นฐานความน่าจะเป็นด้วย Python

เริ่มจากข้อมูลแล้วหาโมเดลที่เหมาะสม

กราฟความสัมพันธ์ระหว่างชั่วโมงเรียนกับคะแนน

พื้นฐานความน่าจะเป็นด้วย Python

โมเดลใดเหมาะกับข้อมูล?

การ fit ข้อมูลด้วยโมเดลแบบ constant, linear, quadratic และ logarithmic

จะใช้เกณฑ์ใดในการตัดสินว่าโมเดลใดดีที่สุด?

พื้นฐานความน่าจะเป็นด้วย Python

โมเดลใดเหมาะกับข้อมูล? (ต่อ)

ภาพเคลื่อนไหวของการ fit โมเดลเชิงเส้น

พื้นฐานความน่าจะเป็นด้วย Python

กราฟ residuals

พื้นฐานความน่าจะเป็นด้วย Python

กราฟ residuals และการลดค่าความคลาดเคลื่อน

พื้นฐานความน่าจะเป็นด้วย Python

ความน่าจะเป็นและสถิติในทางปฏิบัติ

กราฟ residuals ของโมเดลเชิงเส้น

พื้นฐานความน่าจะเป็นด้วย Python

การคำนวณพารามิเตอร์ของโมเดลเชิงเส้น

# Import LinearRegression
from sklearn.linear_model import LinearRegression
# sklearn linear model
model = LinearRegression()
model.fit(hours_of_study, scores)
# Get parameters
slope = model.coef_[0]
intercept = model.intercept_
# Print parameters
print(slope, intercept)
(1.496703900384545, 52.44845266434719)
พื้นฐานความน่าจะเป็นด้วย Python

การทำนายคะแนนจากชั่วโมงการเรียน

# Score prediction
score = model.predict(np.array([[15]]))
print(score)
[74.89901117]
พื้นฐานความน่าจะเป็นด้วย Python

การพล็อตโมเดลเชิงเส้น

$$ $$

import matplotlib.pyplot as plt
plt.scatter(hours_of_study, scores)
plt.plot(hours_of_study_values, model.predict(hours_of_study_values))
plt.show()
พื้นฐานความน่าจะเป็นด้วย Python

กราฟแสดงการ fit ของโมเดลเชิงเส้น

พื้นฐานความน่าจะเป็นด้วย Python

มาฝึกกันเถอะ!

พื้นฐานความน่าจะเป็นด้วย Python

Preparing Video For Download...