สร้าง Decision Tree ทำนายผู้รอดชีวิตบนเรือ Titanic ด้วย R

Machine Learning คืออะไร? แล้วเราจะสร้างโมเดลทำนายผู้รอดชีวิตบนเรื่อง titanic ได้ยังไง? หาคำตอบทั้งหมดได้ในบทความนี้ Hi ML Machine Learning คือการที่คอมพิวเตอร์สามารถเรียนรู้ pattern ต่างๆด้วยตัวเองโดยที่มนุษย์ไม่ต้องเขียนโปรแกรมสั่งมันเลยว่าต้องทำอะไรยังไงบ้าง? (learn without being explicitly programmed) วิธีการสอนคอมพิวเตอร์ก็แค่ให้มันเห็นตัวอย่างเยอะๆ (giving it a lot of examples/ data) แล้วคอมพิวเตอร์จะเริ่มเรียนรู้จาก data ที่เราป้อนให้กับมัน ถ้าเทียบกับการเรียนรู้ของมนุษย์ data = human experience ถ้าอยากสอนให้มันรู้จักสตรอเบอร์รี่ → ให้มันเห็นสตรอเบอร์รี่เยอะๆ ถ้าอยากสอนให้มันรู้จักส้ม → ให้มันเห็นส้มเยอะๆ คอมพิวเตอร์จะเริ่มเรียนรู้ pattern (หรือที่เราเรียกว่า feature) ของวัตถุต่างๆ แล้วจะเริ่มทำนายได้ถูกต้องมากขึ้นตามประสบการณ์หรือปริมาณ data ที่มันได้รับ การสอนคอมพิวเตอร์แบบให้มันเห็นตัวอย่างเยอะๆ (a lot of examples) เรียกว่า…

Read More

รู้จักกับ Control Flow ทั้งสามแบบในภาษา R

control flow คือ basic statement (หรือ keyword) ที่ใช้ควบคุมพฤติกรรมของโปรแกรมที่เราเขียนใน R หลักๆจะมีอยู่สามแบบคือ if-else for loop while loop ถ้าเข้าใจหลักการ control flow ทั้งสามแบบจะช่วยให้เราอ่านโค้ด R ที่คนอื่นโพสต์บนอินเตอร์เน็ตได้ง่ายขึ้นมาก และผลพลอยได้คือจะช่วยให้เราเขียน R เป็นเร็วขึ้นด้วย ตัวอย่าง control flow diagram ด้านล่างจำลองสถานการณ์เราพกเงิน $50 เข้าคาสิโนโยนลูกเต๋าเสี่ยงดวง เราจะเล่นไปเรื่อยๆจนกว่าเงินจะหมด (broke) หรือโชคดีชนะได้เงิน $100 (won 100) แล้วค่อยกลับบ้าน (END) Note – เนื้อหาในบทความวันนี้สามารถประยุกต์ใช้ได้กับทุกภาษาตั้งแต่ R, Python, Java, Scala, C เป็นต้น เพราะทุกภาษามี control flow! มันคือ building block ที่สำคัญเวลาเราเริ่มเขียนโปรแกรมใหม่ๆ…

Read More

สร้าง Spam Classifier ดักจับสแปมอีเมล์ด้วย R

บทความนี้แอดอธิบายการสร้างโมเดล machine learning ง่ายๆสำหรับปัญหา binary classification ทำนาย spam e-mail โดยใช้ข้อมูลจริงจาก HP Labs และ algorithm ยอดนิยมที่เราจะสอนวันนี้คือ Naive Bayes Install Packages tutorial วันนี้ใช้ 3 packages ในตารางด้านล่าง สามารถติดตั้ง package ง่ายๆใน RStudio ด้วยฟังชั่น install.packages() packages ใช้ทำอะไร? kernlab โหลดข้อมูล spam e-mail database naivebayes ฟังชั่น naivebayes() เพื่อสร้าง Naive Bayes Classifier dplyr ทำ data wrangling ง่ายๆกับข้อมูล Spam or Ham ฝรั่งมีศัพท์ slang ไว้ใช้เรียก…

Read More

วิธีสร้าง Heatmap ด้วย Excel

Heatmap เป็นอีกหนึ่งเทคนิคการทำ data visualization ที่ต่อยอดมาจาก table ปกติ โดยเราสามารถไล่สี numeric values ใน table เช่น ค่าสูงขึ้น = สีน้ำเงิน และค่าต่ำลง = สีแดง บทความวันนี้เราจะมาสอนใช้ conditional formatting สำหรับสร้าง heatmap ง่ายๆด้วยโปรแกรม Excel Create Dataset ก่อนจะสร้าง heatmap มาเรียนวิธีสร้างข้อมูลกันก่อน Excel มีฟังชั่น RANDBETWEEN สำหรับสร้าง random numbers ที่มีค่าอยู่ในช่วง interval ที่เราต้องการ ลองพิมพ์ formula นี้ใน cell B2:M16 และใส่ชื่อ columns และ rows ตามตัวอย่างด้านล่าง Quick Heatmap พอเรามีข้อมูลเป็น table แบบนี้แล้ว…

Read More