Logistic regression

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

Alexander A. Ramírez M.

CEO @ Synergy Vision

ข้อมูลดั้งเดิม

กราฟข้อมูลชั่วโมงเรียนกับคะแนน

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

ข้อมูลใหม่

กราฟแสดงผลผ่านหรือไม่ผ่าน

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

จะลากเส้นแบ่งตรงไหน?

แอนิเมชันกราฟแสดงการลากเส้นแบ่ง

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

วิธีแก้ปัญหาโดยใช้ความน่าจะเป็น

การคำนวณความน่าจะเป็นด้วยโมเดล

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

ฟังก์ชัน logistic

กราฟฟังก์ชัน logistic

$$ logistic(t) = logistic(slope*x + intercept) $$

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

การเปลี่ยนค่า slope

แอนิเมชันแสดงค่า slope ที่ทำให้ sigmoid function ชันขึ้น

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

การเปลี่ยนค่า intercept

กราฟ sigmoid function เมื่อเปลี่ยนค่า intercept

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

จากข้อมูลสู่ความน่าจะเป็น

การคำนวณความน่าจะเป็นด้วยโมเดล logistic

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

ผลลัพธ์

กราฟแสดงผลลัพธ์ของโมเดล logistic

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

การจำแนกผิดพลาด

การคำนวณความน่าจะเป็นและการจำแนกผิดพลาด

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

Logistic regression

# Import LogisticRegression
from sklearn.linear_model import LogisticRegression
# sklearn logistic model
model = LogisticRegression(C=1e9)
model.fit(hours_of_study, outcomes)
# Get parameters
beta1 = model.coef_[0][0]
beta0 = model.intercept_[0]
# Print parameters
print(beta1, beta0)
(1.3406531235010786, -15.05906237996095)
พื้นฐานความน่าจะเป็นด้วย Python

การพยากรณ์ผลลัพธ์จากชั่วโมงที่เรียน

hours_of_study_test = [[10]]
outcome = model.predict(hours_of_study_test)
print(outcome)
array([False])
พื้นฐานความน่าจะเป็นด้วย Python

การคำนวณความน่าจะเป็น

$$ $$

# Put value in an array
value = np.asarray(9).reshape(-1,1)
# Calculate the probability for 9 hours of study
print(model.predict_proba(value)[:,1])
array([0.04773474])
พื้นฐานความน่าจะเป็นด้วย Python

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

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

Preparing Video For Download...