Kaggle Titanic: Tableau + Alteryx (1/2)

สำหรับโจทย์สุดคลาสสิคในการเริ่มต้นเรียนรู้ Machine Learning เห็นว่า Titanic น่าจะติดอยู่ใน list เนื่องจากมีข้อมูลในการวิเคราะห์มากมายถูกแชร์อยู่ใน kernels ให้เราลองปฏิบัติตามเพื่อเรียนรู้ รวมถึงได้จับแพะมาชนกับแกะแล้วลองแงะออกมาเป็นรูปแบบใหม่ๆ ตามสไตล์ของเราเอง

ในครานี้ ข้าพเจ้าขอลองของกับโจทย์คลาสสิกนี้บ้างโดยใช้เครื่องมือเป็น tools ที่ได้ศึกษาและทดลองใช้มาเกือบๆ เดือน ในช่วงที่อบรม program young data science ที่ Stelligence

เริ่มจากโหลดข้อมูล titanic จาก kaggle

ทำความเข้าใจข้อมูล

นี่คือ list ของ feature และความหมาย มีไม่มากมายแค่ 10 features สิ่งที่เราต้องทำคือหาโมเดลมาพยากรณ์ว่าคนที่มีข้อมูลตามแต่ละตัวแปรที่ส่งมานั้นเขารอดหรือไม่

่ตัวช่วย Tableau

ลูกทุ่งอย่างเรายังคิดอะไรได้ไม่ค่อยซับซ้อนมากก็จับ output มาเทียบกับข้อมูลในแต่ละ column นับจำนวนคนรอดและจำนวนคนตาย ดูเปรียบเทียบกัน ขอบอกว่าขั้นตอนนี้ใช้เวลานานมาก เนื่องจากว่าเราเล่นอะไรกับข้อมูลได้เยอะมากตามแต่จินตนาการจะบรรเจิด และตัว tableau เองก็ฉลาดใช้ได้ แค่จับลากก็สร้างภาพออกมาให้เลย บิดแกนก็ง่ายแค่ one click โม้มานาน มาดูกันดีกว่าเจออะไรบ้างจากจุดจุดนี้

จะเห็นว่าคนที่ขี้นจากท่าเรือ S มีอัตราการตายสูงกว่าการรอดมาก เมื่อลองเทียบดูกับค่าเฉลี่ยราคาตั๋วแล้วพอเห็นว่านั้นเป็นเพราะคนที่ขึ้นท่านั้นส่วนมาถือตั๋วราคาถูก ซึ่งสอดคล้องกับ Class ที่คลาส 1 มีอัดราการรอดสูง

อายุแม้จะเป็นเพียงตัวเลขแต่ก็จะเห็นว่าส่วนใหญ่ที่ตายกันนั้นจะอายุอยู่ในช่วง 20 ปี ส่วนเรื่องเพศก็จะเห็นว่าผู้หญ่ิงมีอัตราการรอดชีวิตสูงกว่าผู้ชาย

ดูเหมือนว่าคนที่ไม่มีใครในครอบครัวร่วมเดินทางด้วยจะตายมากกว่า

และสุดท้ายคือราคาตั๋วที่ทำให้เราพอเห็นเลาๆ ว่าถ้าราคาตั๋วสูงพอคุณจะรอด

สรุปสิ่งที่เจอและวางแผนการทำงาน

วางแผนคร่าวๆ ว่าจะทำอะไรกับข้อมูล คิดก่อนทำจะช่วยให้ไม่พายเรือวนอยู่ในอ่าง ในรูปด้านล่างสีเขียวคือทำเสร็จแล้ว ส่วนที่เป็นสีเหลืองนั้นยังทำไม่เสร็จเพราะยังหาวิธีไม่ได้

จากนั้นเขียน Flow chart

แผนการทำงานคร่าวๆ ( The first draft)

ลงมือทำ

สร้าง Workflow ใน Alteryx ตามที่วางแผนไว้ข้างต้น สำหรับ model ที่เลือกใช้มี 3 ตัว คือ Decision Tree, Forest Model และ Boosted Model

ภาพการทำงานของ workflow ใน alteryx

ผลการคัดเลือกโมเดล จะเห็นว่า Forest Model ดีกว่าเพื่อนเล็กน้อย เราจึงใช้ model นี้ในการ prediction

Submit ผล

จากนั้นก็นำผลการพยากรณ์ของเราไป submit ที่ website kaggle

ลองปรับ threshold ตอนแปลงค่า output ดู ก็จะเป็นว่าใช้ threshold ค่า 0.8 ให้ผลดีกว่า 0.5 นิดนึง(ก็ยังดี)

เพียงเท่านี้เราก็สามารถสนุกกับการหาความรู้จากข้อมูลได้ด้วยเครื่องมือที่ใช้งานง่ายแล้วยังให้ผลลัพธ์ที่ไม่เลวเลยทีเดียว ถ้าอยากทำให้แม่นยำมากขึ้นก็ต้องลองปรับเปลี่ยนค่าไปมาแล้วรัน Alteryx ซ้ำได้เรื่อยๆ ไม่ยากเลยใช่ไหมเพื่อนๆ

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.