Titanic dataset #3: Logistic regression หาโอกาสรอดของผู้โดยสารเรือไททานิค
มาถึงตอนที่ 3 แล้ว เพื่อไม่ให้เป็นการงงว่าก่อนหน้านี้ทำอะไรมาบ้าง แนะนำว่าให้กลับไปอ่าน 2 ตอนก่อนหน้า เพราะว่าวันนี้เราจะ Fit logistic model กันแล้ว
Logistic regression
ก่อนที่เราจะหาโอกาสรอด (1) หรือไม่รอด (0) เรายังมีข้อมูลอีกชุดนึงที่เราต้องนำมาใช้ใน Dataset ของเรา ซึ่งคือค่า WOE ที่อยู่ในอีก Table ครับ
เมื่อเราได้ข้อมูลมาพร้อมแล้ว เราทำการ Fit model กันได้เลย ขอแบ่ง Training และ Testing ออกเป็น 70–30 ละกัน และกำหนดค่า random_state = 17
เพื่อให้กดรันใหม่อีกรอบจะได้ Sample เหมือนเดิมนะครับ (random_state
จะเป็นเลขอะไรก็ได้)
ผลจากการรันรอบแรก จะเห็นว่ามี Coefficient มี “สวนทาง” อยู่ 2 ตัว ถ้าเป็นโมเดลทั่วไป เช่น การหาโอกาสรอดหรือตาย อาจจะปล่อยผ่านไปก็ได้ครับ แต่อย่างลืมว่าเรามี Concept scoring model อยู่ ดังนั้นโมเดลนี้ยังใช้ไม่ได้ เราต้องตัดตัวแปร 2 ตัวนี้ออกแล้ว Fit model อีกรอบครับ
ผลจากการรันรอบที่ 2 ไม่มีตัวแปรที่มี Coefficient สวนทางแล้ว แต่ว่าค่า p-value ยังมากกว่า 0.05 อยู่ ดังนั้นขอตัวออกเช่นกันครับ
ตอนนี้เราโมเดลที่จะเอามาไปใช้ทำคะแนนต่อแล้ว จากทั้งหมด 7 ตัวแปร เหลือรอดมา 4 ตัวแปรครับ
Model performance
หลังจากที่เราได้โมเดลมาแล้ว เราก็มาดู Performance ของโมเดลกันซะหน่อย ซึ่งหลัก ๆ ที่ใช้วัดก็มี AUC, GINI, KS ครับ ซึ่งหากต้องการศึกษาเพิ่มเติมก็สามารถหาอ่านกันได้นะครับ เป็น Stat ที่ควรรู้เหมือนกัน
ผลที่ออกมาก็คือ
AUC: 0.8602846982949024
GINI: 0.7205693965898048
KS: 0.5801638837353124
MSE: 0.13646578051052413
ยังไม่ถือว่าดีมาก แต่ก็ยังผ่านเกณฑ์ที่จะนำไปทำคะแนนครับ เดี๋ยวเรา Plot ออกมาเป็นรูปกันหน่อยดีกว่า ปกติ Plot ใน Excel แต่วันนี้ลองมาทำโดยใช้ Python ทำกันบ้างดีกว่า
ตัวแปรที่นำมาใช้ ได้มาจากคำสั่ง roc_curve()
ที่เป็น Library จาก Scikit-learn นะครับ ซึ่งกราฟที่ออกมาจะได้หน้าตาแบบนี้
เมื่อเราทำ Training dataset กันแล้ว อย่าลืมเอาโมเดลที่ทำออกมา ไป Apply เข้ากับ Testing dataset กันนะครับ เพื่อที่จะดูว่านอกช่วงเวลาเนี่ย โมเดลเรายังใช้ได้อยู่ไหม
AUC: 0.830320766626499
GINI: 0.660641533252998
KS: 0.5406553049865152
MSE: 0.16165299145027845
ผลที่ออกมายังถือว่าใช้ได้ครับ เดี๋ยวตอนหน้าเราไปทำคะแนนให้แต่ละคนกันแล้ว ว่าโอกาสรอดของแต่ละคนจะมีเท่าไหร่บ้าง เทียบจากคุณลักษณะ