Classification คืออะไร เจาะลึกเทคนิคสำคัญกับงานสายข้อมูล

Classification คืออะไร

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

Classification คืออะไร

Classification คืออะไร

Classification หรือเทคนิคการจำแนก เป็นหนึ่งใน Machine Learning ที่ช่วยในการทำเหมืองข้อมูล อยู่ในกลุ่มของ Supervised Learning โดยเพื่อน ๆ จำเป็นต้องกำหนดวัตถุประสงค์ เพื่อให้โมเดลสามารถเรียนรู้จากข้อมูลที่เรานำเข้า และให้ผลลัพธ์ที่ตอบคำถามตามวัตถุประสงค์ได้ ซึ่งคำตอบที่ได้จาก Classification Model จะอยู่ในรูปแบบค่าที่ไม่ต่อเนื่อง (Discrete Value) ทำให้สามารถตอบคำถามที่กำหนดคำตอบไว้ล่วงหน้าได้ เช่น ฝนตกหรือไม่ตก, เป็นเด็กหรือผู้ใหญ่

Classification Model มีกี่ประเภท

ประเภทของ Classification Model ที่เราจะมาแนะนำให้เพื่อน ๆ มี 3 ประเภทด้วยกัน ดังนี้

Binary Classification (จำแนกแบบไบนารี่)

การจำแนกแบบ 2 ตัวแปร ผลลัพธ์ที่ได้จากข้อมูลจะมีเพียงแค่ 2 หมวดหมู่ที่เรากำหนดไว้เท่านั้น เช่น ข้อมูลลักษณะของลูกค้าที่เข้าร้านค้าซื้อสินค้าหรือไม่ คำตอบที่ได้จะมีเพียง “ซื้อ” หรือ “ไม่ซื้อ”

Multi-Class Classification (จำแนกแบบหลายคลาส) 

การจำแนกแบบหลายหมวดหมู่ ลักษณะการวิเคราะห์จะใกล้เคียงกับ Binary แต่ผลลัพธ์ที่ได้จะมีมากกว่า 2 คำตอบ เป็นการทำนายสิ่งที่ใกล้เคียงกับข้อมูลที่ป้อน เช่น การจำแนกรูปภาพว่าเป็น “รถ” หรือ ”เรือ” หรือไม่ใช่ทั้งคู่

Multi-Label Classification (จำแนกแบบหลายเลเบล)

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

การใช้งานเทคนิค Classification 

การใช้งาน Classification Model

โดยพื้นฐานเทคนิคการจำแนกข้อมูลจะถูกใช้ในการแยกประเภทเพื่ออธิบายข้อมูลนั้น ๆ ผ่านการทำนายลักษณะของข้อมูลแต่ละตัว ตรงกับประเภทไหน ด้วยการสอนโมเดลด้วยชุดข้อมูลนึง อย่างเช่น การแยกว่าเป็นผู้ป่วยมะเร็งหรือไม่จากข้อมูลอาการ Classification Model ถูกนำไปใช้ในการทำเหมืองข้อมูลหลากหลายรูปแบบ เช่น Text Analysis หรือการวิเคราะห์ ที่พบเห็นได้บ่อย ๆ ก็คือการสร้างโมเดลเพื่อแยกอีเมลล์ Spam ออกจากอีเมลล์ปกติ หรือวิเคราะห์ความพึงพอใจของลูกค้าด้วย Sentiment Analysis หรือการทำ Image Classification ที่แยกประเภทจากการวิเคราะห์รูป นอกจากนี้เทคนิค Classification ได้ถูกนำไปประยุกต์ใช้อย่างหลากหลาย เช่น

  • การทำการตลาดกับกลุ่มเป้าหมาย
  • การวินิจฉัยโรค
  • การวิเคราะห์ประสิทธิภาพการรักษา
  • การตรวจสอบเพื่ออนุมัติบัตรเครดิต

ขั้นตอนการทำ Classification

กำหนดวัตถุประสงค์

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

การจัดเตรียมข้อมูล

การจะได้โมเดล Classification ที่ดีนั้นจะมีสิ่งที่เพื่อน ๆ จะต้องคำนึงถึงอยู่ สิ่งแรกเลยก็คือการเตรียมข้อมูล (Data Preprocessing) ให้ดีไม่ว่าจะเป็นการทำความสะอาดข้อมูล หรือการเปลี่ยนรูปข้อมูล ให้พร้อมต่อการนำไปใช้สร้างโมเดล เพราะการที่เตรียมข้อมูลที่ไม่ดีพออาจะส่งผลให้การวิเคราะห์ข้อมูลไม่แม่นยำได้

แบ่งข้อมูลชุด Train และ Test 

ในการสร้าง Classification Model จำเป็นต้องมีการแบ่งชุดข้อมูลออกเป็น Training และ Test ในส่วนนี้หากเพื่อน ๆ แบ่งสัดส่วนข้อมูลไม่เหมาะสม อาจะทำให้เกิดการ Overfitting ที่โมเดลทำงานได้ดีมากเฉพาะบน Traing Set หรือ Underfitting ที่ข้อมูลไม่เพียงพอจนทำให้โมเดลได้

Training และ Testing โมเดล

หลังจากแบ่งข้อมูลแล้ว ให้เพื่อน ๆ Input ข้อมูลชุด Training เข้าไปสู่โมเดล เพื่อให้โมเดลเรียนรู้ความสัมพันธ์ต่าง ๆ ภายในชุดข้อมูล และส่งต่อโมเดลเพื่อทดสอบในข้อมูลชุด Test เพื่อทดสอบประสิทธิภาพของโมเดล

การวัดผลโมเดล

เมื่อทดสอบโมเดลเสร็จเรียบร้อยแล้วก่อนจะนำโมเดลออกไปใช้งานจริง จำเป็นต้องมีการวัดผลประสิทธิภาพของโมเดล โดย Classification Model แบบ 2 ตัวแปร จะใช้ Confusion Matrix ในการวัดผลและแสดงค่าความแม่นยำออกมา หากค่าความแม่นยำต่ำ อาจจำเป็นต้องทำซ้ำและปรับเปลี่ยนเพื่อทดสอบให้ได้โมเดลที่ดีที่สุด

ตัวอย่าง Classification Algorithm

การสร้างโมเดลสิ่งหนึงที่เป็นหัวใจสำคัญคือ Algorithm นั้นเอง ซึ่งโมเดล Classification ก็มี Algorithm หลากหลายตัว แล้วจะใช้ตัวไหนให้ตรงกับวัตถุประสงค์การวิเคราะห์ของเพื่อน ๆ ดีหละ เราเลยอยากนำเสนอ Algorithm พื้นฐานและใช้งานบ่อนสำหรับ Classification Model ให้กับเพื่อน ๆ กัน

K-NN

Classification Model K-NN

ที่มา : https://www.analyticsvidhya.com

K-NN Algorithm หรือ K-nearest Neighbors เป็นหนึ่งในวิธีการจำแนกข้อมูล ที่เหมาะกับการวิเคราะห์และแก้ปัญหากับชุดข้อมูลที่เพื่อน ๆ รู้จำนวนการแบ่งหมวดหมู่ที่แน่นอนอยู่แล้วเพื่อนำไปจำแนกข้อมูลที่ไม่สามารถระบุหมวดหมู่ได้ โดยอาศัยหลักการการเปรียบเทียบข้อมูลในตำแหน่งที่สนใจกับข้อมูลอื่น ๆ ที่ระบุหมวดหมู่ไว้แล้วว่าใกล้เคียงกับข้อมูลไหนมากที่สุด ตัวโมเดลก็จะให้ผลลัพธ์เป็นคลาสของข้อมูลนั้น ๆ 

หลักการทำงานของ K-NN คือการเปรียบเทียบข้อมูลที่สนใจกับข้อมูลใกล้เคียงโดยจำนวนที่โมเดลจะตรวจสอบข้อมูล เพื่อน ๆ สามารถกำหนดได้เอง โดยใช้ค่าที่เรียกค่า K ที่เปรียบเสมือนค่าที่จะกำหนดขอบเขตในการตัดสินใจ เช่น K=2 โมเดลก็จะทำการตรวจสอบข้อมูล 2 ตัวที่ใกล้กับเป้าหมายมากที่สุด ซึ่งจะใกล้เคียงกับการโหวตเสียงข้างมาก 

ข้อดี

  • มีประสิทธิภาพในการตัดสินใจที่ซับซ้อน

ข้อเสีย

  • ใช้เวลานาน
  • ใช้งานได้ไม่ดีกับข้อมลที่มี Attribute จำนวนมาก
  • คำนวณได้แค่ค่าที่เป็น Nominal เช่น ข้อมูลเพศ อาชีพ

Naive Bayes

Classification Model Naive Bayes สูตร

Naive Bayes เป็นอีกหนึ่ง Classification Model ที่ใช้สำหรับทำนายว่าข้อมูลอยู่ในกลุ่มไหน ซึ่งเป็นโมเดลที่ต้องอาศัยการกำหนด Label หรือแยกหมวดหมู่ไว้แล้วในการสอน โดยใช้หลักการความน่าจะเป็นทางสถิติ (Probability) ของ Bayesเพื่อทำนายว่าข้อมูลอยู่ในกลุ่มไหน

โดยการคำนวนของ Naive Bayes Algorithm ด้วยสมการตามภาพด้านบน เพื่อคำนวนหาค่า P(C|A) หรือความน่าจะเป็นที่ข้อมูลที่มี Attribute เป็น A จะมีคลาส C ซึ่งจากคลาสทั้งหมด ตัวไหนที่มีค่าความน่าจะเป็นนี้มากกว่า ก็จะได้ผลลัพธ์ออกมาเป็นค่านั้น ซึ่งตัวโมเดลนี้ก็สามารถนำไปใช้ได้หลากหลายทั้งการทำ Sentiment Analysis, Spam Filtering ไปจนถึงเป็นพื้นฐานของ Language Model 

ข้อดี

  • ตัวโมเดลค่อนข้างทนต่อ Noise
  • Attribute ที่ไม่เกี่ยวข้องไม่มีผลมากนัก

ข้อเสีย

  • ถ้า Attribute มีความสัมพันธ์กัน อาจทำให้ความแม่นยำตกลง

Decision Tree

Classification Model Decision Tree

ที่มา : https://www.ibm.com/topics/decision-trees

Decision Tree Algorithm เป็นโมเดลในรูปแบบของแผนภูมิต้นไม้ (Tree Diagram) ที่มีคอนเซปในการเลียนแบบการตัดสินใจของมนุษย์ มาตัดสินใจในข้อมูลที่ไม่เคยเห็น ซึ่งเป็น Rule-Based Model ที่ใช้การสร้างเงื่อนไข If-else จาก Attribute ต่าง ๆ ภายในชุดข้อมูล โดยมีวัตถุประสงค์ในการแบ่งข้อมูลออกเป็นแต่ละประเภทเพื่อที่จะอธิบายกลุ่มข้อมูลได้ดีที่สุด ซึ่งโมเดล Decision Tree แบ่งออกได้ 2 ประเภท คือ Regression Tree ที่ใช้ในการแก้ปัญหาโจทย์ Regression และ Classification Tree สำหรับจำแนกประเภท

Decision Tree นั้นประกอบด้วย Node โดยโหนดแรกจะเรียกว่า Root Node และโหนดสุดท้ายเรียกว่า Leaf Node โดยสิ่งที่เป็นหลักสำคัญในการสร้างโมเดล Decision Tree คือ การ Split ค่า Feature หรือ Attribute แต่ละครั้งต้อง Minimise ค่า Cost Function โดยวัดออกมาด้วยค่า Gini Impurity คือการวัดค่าความผิดพลาดของการแบ่ง (Impurity) ที่ยิ่งค่าน้อยก็จะแสดงให้เห็นว่าโมเดลจำแนกได้ดี 

ข้อดี

  • เป็นโมเดลที่เข้าใจง่าย
  • อดทนต่อ Noise
  • ทำงานได้เร็ว กินทรัพยากรน้อย

ข้อเสีย

  • อาจมีขนาดใหญ่และเกิด Overfitting ได้ง่าย
  • หาก Leaf Node น้อยเกิน อาจะไม่มีผลทางสถิติ

Example : Text Mining Classification

ตัวอย่างการใช้ Classification Model ในการทำ Text Analysis

Classification Model มีกรนำไปใช้งานที่หลากหลาย เราเลยอย่างนำเสนอตัวอย่างการทำ Text Mining Classification เกี่ยวกับการแยกประเภทคำจากรีวิวของลูกค้าเสื้อผ้าในแพลตฟอร์ม E-commerce ด้วย K-NN Algorithm เพื่อแยกกลุ่มคำที่สื่อไปในเชิงบวก ทั่วไป และเชิงลบ ให้เพื่อน ๆ ได้ศึกษาคร่าว ๆ จาก Project ที่เราได้เคยทำไว้ ว่ามีขั้นตอนอะไรบ้าง โมเดลทำงานอย่างไร ผ่านโปรแกรม RapidMiner โดยเพื่อน ๆ สามารถดาวน์โหลดไฟล์และเปิดในโปรแกรมเพื่อลองเข้าไปหมุนเล่นกันได้เลย

ดาวน์โหลด : Women Clothing E-Commerce Review

Classification คืออะไร สรุป

ก็จบกันไปแล้วกับการเจาะลึก Classification คืออะไร เพื่อน ๆ น่าจะได้เข้าใจเกี่ยวกับโมเดลการจำแนกได้มากยิ่งขึ้น ที่เราต้องบอกเลยว่า Classification Model เป็นโมเดลพื้นฐานที่มนุษย์ Data จะต้องรู้จักไว้ รวมถึงเป็นรากฐานของขุมพลัง AI ในปัจจุบันอย่าง Deep Learning ถ้าเพื่อน ๆ สนใจเกี่ยวกับ Data ก็ไม่ควรพลาดที่จะติดตามบทความดี ๆ จาก LearningFeel ต่อไป เรายังมีความรู้ดี ๆ มาฝากเพื่อน ๆ อีกมากมายอย่างแน่นอน

Verified by MonsterInsights