การจ าแนก (classification - csit @ nu

16
บทที5 การจาแนก (Classification) วัตถุประสงค์การเรียนรู1) เข้าใจความหมายและลักษณะสาคัญของเทคนิคการจาแนกข้อมูล 2) เข้าใจกระบวนการทางานของวิธีการค้นหาเพื่อนบ้านใกล้ที่สุด k ตัว (K-nearest neighbors) 3) เข้าใจกระบวนการทางานของวิธีการต้นไม้ตัดสินใจ ( Decision Tree) 4) เข้าใจกระบวนการทางานของวิธีการ Random forest

Upload: others

Post on 13-Mar-2022

30 views

Category:

Documents


0 download

TRANSCRIPT

บทที่ 5 การจ าแนก (Classification)

วัตถุประสงค์การเรียนรู้

1) เข้าใจความหมายและลักษณะส าคัญของเทคนิคการจ าแนกข้อมูล

2) เข้าใจกระบวนการท างานของวิธีการค้นหาเพื่อนบ้านใกล้ที่สุด k ตัว (K-nearest neighbors)

3) เข้าใจกระบวนการท างานของวิธีการต้นไม้ตัดสินใจ (Decision Tree)

4) เข้าใจกระบวนการท างานของวิธีการ Random forest

บทที่ 5 เทตนิคการจ าแนก (Classification)

208

บทที่ 5 การจ าแนก (Classification)

เทคนิคการจ าแนก เป็นเทคนิคหนึ่งที่ใช้ในงานด้านการท าเหมืองข้อมูล (Data Mining) ในการสร้าง

แบบจ าลองเพ่ือท านายค าตอบที่มีลักษณะค่าข้อมูลเป็นแบบเชิงคุณภาพ (Qualitative value) หรือเชิงกลุ่ม

(Category data) เช่น จัดอยู่ในกลุ่ม เสี่ยง/ไม่เสี่ยง ระดับความเสี่ยงต่อการเป็นโรค เสี่ยงมาก/เสี่ยงน้อย/เสี่ยง

ปานกลาง หรือวิธีการรักษา 1/2/3 เป็นต้น โดยหลักการท างานของเทคนิค คือ จะเป็นการสร้างแบบจ าลองจาก

ชุดข้อมูลที่มีอยู่และน ามาประยุกต์ใช้ท านายค าตอบของชุดข้อมูลใหม่ (Unseen Object) ซึ่งเป็นเทคนิคที่ได้รับ

ความนิยมและถูกน าไปประยุกต์ใช้ในงานหลากหลายด้าน เช่น การจ าแนกประเภทกลุ่มของลูกค้า การ

ตรวจสอบและพิจารณาอนุมัติสินเชื่อแก่ลูกค้า และการตรวจสอบความผิดปกติหรือภาวะเสี่ยงของการเป็นโรค

เป็นต้น ในขั้นตอนของการสร้างแบบจ าลองเทคนิคการจ าแนกนั้นมีอัลกอริธึมที่สามารถใช้ได้หลาย ตัวอย่าง

อัลกอริธึมที่นิยมใช้ เช่น ขั้นตอนวิธีการค้นหาเพ่ือนบ้านใกล้ที่สุด k ตัว (K-nearest neighbors) ต้นไม้ตัดสินใจ

(Decision Tree) ซัพพอร์ตเวกเตอร์แมชชีน (Support Vector Machine) นาอีฟเบย์ (Naïve Bayes) และ

โครงข่ายประสาทเทียม (Artificial neural network) เป็นต้น

5.1 ขั้นตอนวิธีการค้นหาเพื่อนบ้านใกล้ที่สุด k ตัว (K-nearest neighbors)

อัลกอริธึม K-nearest neighbors (KNN) นับเป็นเทคนิคท่ีมีวิธีการไม่ซับซ้อนและเข้าใจได้ง่ายที่สุดที่ใช้

ในการจ าแนกประเภทข้อมูล โดยหลักการท างาน คือ จะใช้หลักการเปรียบเทียบความคล้ายคลึงกันของข้อมูลที่

สนใจกับข้อมูลอื่นว่ามีความคล้ายคลึงหรืออยู่ใกล้กับข้อมูลใดมากที่สุด k ตัว จากนั้นจะท าการตัดสินใจว่า

ค าตอบของข้อมูลที่สนใจนั้นควรเป็นค าตอบเดียวกับข้อมูลที่อยู่ใกล้ที่สุด k ตัวนั้น ทั้งนี้ k คือความถี่ของข้อมูลที่

อยู่ใกล้กับข้อมูลที่สนใจ ซึ่งยกตัวอย่างได้ดังตัวอย่างที่ 5.1

ตัวอย่างที่ 5.1 จากชุดข้อมูลตัวอย่างในตารางที่ 5.1 เราสามารถใช้ข้อมูลของสมาชิกคนอ่ืนๆ ในการจ าแนกเพศ

ของสมาชิกท่ีชื่อ “สมสมัย” ได้ โดยใช้วิธีค้นหาเพื่อนบ้านใกล้ที่สุด k ตัว ได้ดังนี้

บทที่ 5 เทตนิคการจ าแนก (Classification)

209

ตารางที่ 5.1 ตัวอย่างชุดข้อมูลเพื่อการจ าแนกเพศ

ชื่อสมาชิก น้ าหนัก ส่วนสูง เพศ สมชาย 70 180 ชาย

สมหญิง 55 165 หญิง

สมสมร 40 160 หญิง สมจริง 70 170 ชาย

สมศรี 45 150 หญิง สมสมัย 50 165 ?

ข้อมูลในตารางที่ 5.1 สามารถจ าแนกเพศของสมาชิกชื่อ สมสมัย ได้ด้วยวิธีค้นหาเพ่ือนบ้านใกล้ที่สุด k

ตัว เริ่มต้นจากวัดความคล้ายคลึงว่าสมสมัยมีลักษณะเฉพาะที่คล้ายคลึงกับสมาชิกคนอ่ืนๆอย่างไร ท าการวัด

ระยะห่างว่าสมสมัยมีความคล้ายคลึงกับสมาชิกคนใดมากที่สุด k ตัว จากนั้นท าการตัดสินว่าสมสมัยจะเป็นเพศ

“ชาย” หรือ “หญิง” พิจารณาได้จากเพศของสมาชิก k ตัวที่สมสมัยอยู่ใกล้มากที่สุด ว่าเป็นเพศใดมากที่สุด

ค าตอบคือ ระหว่างสมาชิกชื่อสมสมัยกับคนอ่ืนๆ เพ่ือจ าแนกว่าสมสมัยควรมีเพศเป็นอะไร โดยพิจารณาจาก

ค าตอบของสมาชิกที่สมสมัยอยู่ใกล้ k ตัว ในที่นี้ใช้วงกลมเป็นสัญลักษณ์แทนระยะการอยู่ใกล้ของข้อมูลที่สนใจ

กับข้อมูลอื่น ดังรูปที ่5.1 ถึง 5.3

รูปที่ 5.1 แสดงการจ าแนกข้อมูลใหม่ ด้วยวิธี KNN ก าหนด k=1

ในรูปที่ 5.1 ถ้าก าหนดให้ k=1 สมาชิกท่ีสมสมัยอยู่ใกล้ที่สุด คือ สมหญิง ซึ่งมีเพศเป็นหญิง ดังนั้นในที่นี้

สมสมัยจะถูกจ าแนกให้เป็นเพศหญิงเหมือนกันกับสมหญิง

บทที่ 5 เทตนิคการจ าแนก (Classification)

210

รูปที่ 5.2 แสดงการจ าแนกข้อมูลใหม่ ด้วยวิธี KNN ก าหนด k=3

ในรูปที่ 5.2 ถ้าก าหนดให้ k=3 สมาชิกท่ีสมสมัยอยู่ใกล้ที่สุด 3 คน ได้แก่ สมหญิง สมสมร และสมศรี

ทั้งท้ังสามมีเพศเป็นเพศหญิง ดังนั้นในที่นี้ สมสมัยจึงถูกจ าแนกให้เป็นเพศหญิงเหมือนกันกับสมาชิกทั้งสามคน

รูปที่ 5.3 แสดงการจ าแนกข้อมูลใหม่ ด้วยวิธี KNN ก าหนด k=5

หรืออีกกรณีในรูปที่ 5.3 ถ้าก าหนดให้ k=5 สมาชิกท่ีสมสมัยอยู่ใกล้ที่สุด 5 คน ได้แก่ สมหญิง สมสมร

สมศรี สมจริง และสมชาย โดยสมาชิกทั้ง 5 คนนี้เป็นเพศหญิง 3 คน และเพศชาย 2 คน ซึ่งในข้อมูลของสมาชิก

ทั้งหมด 5 คนนี้มีเพศหญิงมากกว่าเพศชาย ดังนั้นในที่นี้ สมสมัยจึงถูกจ าแนกให้เป็นเพศที่มีจ านวนข้อมูลมาก

ที่สุด ได้แก่ เพศหญิง นั่นเอง

โดยสรุปวิธี KNN มีข้ันตอนการท างาน ดังนี้

บทที่ 5 เทตนิคการจ าแนก (Classification)

211

1. ผู้ใช้ต้องท าการก าหนดค่า k ซึ่งโดยทั่วไปจะก าหนดให้เป็นเลขคี่ เช่น 3, 5, 7 และ 9 เป็นต้น

2. น าวัตถุท่ีต้องการจ าแนกมาวัดหาความคล้ายคลึงหรือความต่างกับข้อมูลทั้งหมดในชุดข้อมูล โดย

มาตรวัดระยะห่างที่นิยม ได้แก่ ระยะยูคลิด (Euclidean distance) สมการ (5.1)

2

1

( , ) ( )n

k k

k

dist p q p q

(5.1)

3. เรียงล าดับวัตถุตามความคล้ายหรือความแตกต่าง จากคล้ายคลึงมากที่สุดไปหาน้อยที่สุด หรือจาก

แตกต่างน้อยที่สุดไปหามากท่ีสุด

4. พิจารณาค าตอบจากจ านวนคลาสค าตอบที่มีมากท่ีสุดใน k ตัวที่มีความคล้ายมากที่สุด หรือมีความ

แตกต่างน้อยที่สุด

ในที่นี้จะขอยกตัวอย่างขั้นตอนการท างานของวิธีการ KNN โดยใช้ชุดข้อมูลจากตัวอย่างที่ 5.1 เพ่ือหา

ว่าสมาชิกชื่อสมสมัย ซึ่งเป็นสมาชิกใหม่ที่เข้ามาควรจ าแนกให้อยู่ในกลุ่มเพศใด ถ้าก าหนด k = 5

เริ่มต้นจากน าข้อมูลของสมสมัย ได้แก่ ข้อมูลน้ าหนักและส่วนสูง มาค านวณหาค่าความต่างกับข้อมูล

ของสมาชิกคนอ่ืนๆ โดยใช้สูตรยูคลิดีน และท าการเรียงล าดับจากค่าน้อยที่สุดไปมากท่ีสุด 5 อันดับแรก (k=5)

ผลที่ได้แสดงดังตารางที่ 5.2

ตารางที่ 5.2 ค่าระยะห่างระหว่างสมาชิกใหม่กับสมาชิกอ่ืนๆ

ชื่อสมาชิก

ระยะห่าง(สมสมัย, สมาชิกแต่ละคน) เพศ

สมศรี √(50 + 45)2 + (165 + 150)2= 329.014 หญิง สมสมร 337.2313746 หญิง

สมหญิง 346.3018914 หญิง

สมจริง 355.844067 ชาย สมชาย 365.2738699 ชาย

บทที่ 5 เทตนิคการจ าแนก (Classification)

212

ค่าความแตกต่างในตารางที่ 5.2 สามารถน ามาพิจารณาเป็นค าตอบได้ว่า สมสมัยถูกจ าแนกให้เป็นเพศ

หญิง เนื่องจากในข้อมูลของสมาชิกทั้ง 5 คนที่มีความคล้ายคลึงกับสมสมัยมากที่สุดมีความถ่ีที่เป็นเพศหญิง

มากกว่าเพศชาย

5.2 ต้นไม้ตัดสินใจ (Decision Tree)

5.2.1 ลักษณะของต้นไม้การตัดสินใจ

ในการเรียนรู้ของเครื่อง (machine learning) ต้นไม้ตัดสินใจ เป็นโมเดลทางคณิตศาสตร์ที่ใช้ท านาย

ประเภทของวัตถุโดยพิจารณาจากลักษณะของวัตถุ โดยมีลักษณะการตัดสินใจเป็นแบบแผนผังต้นไม้

ประกอบด้วย ส่วนที่เป็นบัพภายใน (inner node) หรือที่เรียกว่าโหนดของต้นไมใ้ช้แทนตัวแปรต่างๆ ที่ใช้ในการ

ตัดสินใจ ส่วนทีก่ิ่ง (Branch) ใช้แทนค่าที่เป็นได้ของตัวแปร และส่วนที่เป็นบัพใบ (leaf node) หรือที่เรียกว่า

โหนดใบ ใช้แทนค่าค าตอบของการตัดสินใจหรือการจ าแนก (วิกิพีเดีย, 2563) ตัวอย่างแสดงดังรูปที่ 5.4

รูปที่ 5.4 ตัวอย่างแบบจ าลองการจ าแนกด้วยวิธีต้นไม้ตัดสินใจ

ในรูปที่ 5.4 เป็นตัวอย่างต้นไม้ตัดสินใจใช้ท านายว่าจะเล่นกีฬาหรือไม่ โดยพิจารณาจากลักษณะอากาศ

ของวันนั้นซึ่งมีทั้งหมด 3 ตัวแปร ได้แก่ ทัศนียภาพ (outlook) ความชื้น (Humidity) และกระแสลม (Windy)

โดยวัตถุที่ต้องการท านายจะต้องประกอบด้วย 3 ลักษณะข้างต้น และการท านายว่าจะเล่นกีฬาหรือไม่เล่นนั้น

เริ่มต้นจากโหนดที่อยู่บนสุด เรียกว่าโหนดราก (root node) โดยทดสอบค่าตัวแปรสภาพอากาศของวัตถุใหม่ว่า

มีค่าเป็นอะไร สมมติถ้ามีค่าเท่ากับ “แดดออก” จะต้องท าการทดสอบตัวแปรโหนดถัดไปนั่นคือโหนดความชื้น

บทที่ 5 เทตนิคการจ าแนก (Classification)

213

ซึ่งถ้าสมมติให้วัตถุใหม่มีความชื้นมีค่าเท่ากับ 80 ซึ่งผลการท านายว่าจะเล่นหรือไม่เล่นกีฬาของวัตถุใหม่

หลังจากท าการทดสอบค่าตัวแปรความชื้น คือ เล่นกีฬา

จากตัวอย่างข้างต้นจะเห็นว่าเทคนิคต้นไม้ตัดสินใจจะมีรูปแบบของโครงสร้างเลียนแบบต้นไม้ ซึ่งเป็น

เทคนิคที่ได้รับความนิยมมาก เนื่องจากเป็นเทคนิคที่มีขั้นตอนวิธีที่ไม่ซับซ้อน ผลลัพธ์เข้าใจง่ายสามารถน าไปใช้

เป็นกฎหรือเงื่อนไขของการตัดสินใจได้ ตัวอย่างเช่น ต้นไม้การตัดสินใจในรูป 5.4 สามารถน ามาสร้างเป็นเงื่อนไข

ได้ ดังนี้

- ถ้าสภาพอากาศ คือ มืดครึ้ม (overcast) ค าตอบของการตัดสินใจเล่นกีฬา คือ เล่น

- ถ้าสภาพอากาศ คือ ฝนตก (rainy) และกระแสลม คือ แรง (True) ค าตอบของการตัดสินใจเล่น

กีฬา คือ ไม่เล่น

เป็นต้น

ต้นไม้ตัดสินใจ เป็นเทคนิคที่ใช้ได้กับข้อมูลที่มีค่าต่อเนื่อง (Continuous values) และไม่ต่อเนื่อง

(Discrete values) โดยต้นไม้ตัดสินใจที่บัพใบแสดงถึงข้อมูลที่เป็นข้อมูลไม่ต่อเนื่อง จะเรียกว่าต้นไม้ตัดสินใจ

แบบจ าแนก (Classification trees) และต้นไม้ตัดสินใจที่บัพใบเป็นข้อมูลต่อเนื่อง (Continuous values) จะ

เรียกว่าต้นไม้ตัดสินใจแบบถดถอย (regression trees)

5.2.2 ขั้นตอนวิธีการสร้างต้นไม้ตัดสินใจ

ต้นไม้ตัดสินใจจะมีโครงสร้างการตัดสินใจเป็นแบบต้นไม้ที่ประกอบด้วย ส่วนที่โหนด กิ่ง และใบ ซึ่ง

วิธีการสร้างต้นไม้นั้นมีขั้นตอนวิธีให้เลือกหลากหลาย เช่น ขั้นตอนวิธี CART, ID3, C4.5 SLIQ และ SPRINT

เป็นต้น โดยแต่ละวิธีจะมีความแตกต่างของเกณฑ์ที่ใช้พิจารณาเลือกโหนดและลักษณะการแตกก่ิงที่เหมาะสม

(จรัสศรี รุ่งรัตนาอุบล, 2562) โดยสรุปแต่ละวิธีจะมีขั้นตอนของการสร้างต้นไม้แบ่งเป็น 2 ประเด็นหลัก ดังนี้

ประเด็นที ่1 การตัดสินใจว่าจะแตกกิ่งหรือแตกข้อมูลเป็นอย่างไร ซึ่งจะเป็นเรื่องเก่ียวกับการก าหนด

เงื่อนไขการแตกกิ่งข้อมูล เช่น แตกเป็น 2 กิ่ง 3 กิ่ง หรือมากกว่านั้น เป็นต้น ซึ่งสามารถท าได้โดยใช้ชนิดของ

ข้อมูลเป็นเงื่อนไขว่าจะให้ข้อมูลเป็นแบบไหน เช่น ข้อมูลเป็นนามบัญญัติหรือกลุ่ม (Category data) หรือข้อมูล

เป็นตัวเลขต่อเนื่อง เป็นต้น และเป็นเรื่องเกี่ยวกับการเลือกจุดที่เหมาะสมส าหรับการแตกก่ิง นั่นคือการทดสอบ

ว่าแอททริบิวต์ใดเหมาะสมที่จะเป็นโหนดเพื่อแตกก่ิงของปัญหามากที่สุด

ประเด็นที่ 2 การตัดสินใจว่าจะหยุดแตกก่ิงเมื่อไหร่ เช่น หยุดเมื่อกิ่งนั้นมีจ านวนน้อยกว่าค่าท่ีก าหนด

หรือ หยุดเมื่อค่าเกณฑ์การทดสอบของการแตกกิ่งไม่ดีข้ึน เป็นต้น โดยขั้นตอนวิธีสร้างต้นไม้แต่ละวิธีจะมีกลไก

การท างานที่เป็นแบบวนซ้ าเลือกแอทริบิวต์ที่ให้ค่าเกณฑ์การทดสอบที่เหมาะสมที่สุดเพื่อแตกกิ่งลงไปเรื่อยๆ จน

พบเงื่อนไขการหยุดแตกก่ิง

บทที่ 5 เทตนิคการจ าแนก (Classification)

214

ในที่นี้จะขอยกตัวอย่างการท างานเพ่ือการแตกกิ่งแบบง่ายผ่านตัวอย่างที่ 5.2 ดังนี้

ตัวอย่างที่ 5.2 เป็นตัวอย่างข้อมูลในการตัดสินใจว่าจะเล่นหรือไม่เล่นกีฬา โดยมีลักษณะเฉพาะหรือแอททริบิวต์

ของข้อมูล 4 แอทริบิวต์ ได้แก่ ทัศนียภาพ (outlook) อุณหภูมิ (Temperature) ความชื้น (Humidity) และ

กระแสลม (Windy) เพ่ือจ าแนกการตัดสินใจการเล่นกีฬา(Play) ว่าจะเล่น (Yes) หรือไม่เล่น (No) ดังตารางที่

5.3

ตารางที่ 5.3 ตัวอย่างข้อมูลในการตัดสินใจว่าจะเล่นหรือไม่เล่นกีฬา

outlook temperature humidity windy play

sunny 85 85 False No

sunny 80 90 True No

overcast 83 86 False Yes

rainy 70 96 False Yes

rainy 68 80 False Yes

rainy 65 70 True No

overcast 64 65 True Yes

sunny 72 95 False No

sunny 69 70 False Yes

rainy 75 80 False Yes

ต้นไม้การตัดสินใจมีหลักการท างานง่ายๆ คือ ถ้าแอทริบิวต์ใดที่ค่าของมันสามารถจ าแนกค าตอบ Play?

ได้อย่างสมบูรณ์แล้ว แอทริบิวต์นั้นก็สามารถก าหนดให้เป็นรากหรือโหนดได้เลย ดังรูปที ่5.5

บทที่ 5 เทตนิคการจ าแนก (Classification)

215

รูปที่ 5.5 แสดงค่าของ Play จ าแนกตามค่าของแอทริบิวต์ outlook

จากรูปที่ 5.5 แอทริบิวต์ outlook = overcast แล้วจะได้ค่า Play เท่ากับ Yes เสมอ จะท าให้ได้ต้นไม้

และข้อมูลที่เหลือในการใช้แตกก่ิงต่อไป ดังรูปที่ 5.6

รูปที่ 5.6 แสดงต้นไม้หลังจากมีการคัดเลือกราก และข้อมูลที่เหลือในการใช้แตกกิ่ง

จากรูปที่ 5.6 เราสามารถตัดระเบียนที่สามารถจ าแนกค่าได้แล้วออกไปได้เลย แล้วเริ่มพิจารณาระเบียน

ที่เหลือ ในการแตกกิ่งและสร้างโหนดต่อไป โดยพิจารณาจากค่าแอทริบิวต์อ่ืนที่ค่าของมันสามารถจ าแนก

บทที่ 5 เทตนิคการจ าแนก (Classification)

216

ค าตอบ Play ได้อย่างสมบูรณ์ การแตกก่ิงในแอทริบิวต์ที่มีค่าเป็นแบบต่อเนื่องจะต้องมีการพิจารณาจ านวนกิ่งท่ี

จะแตกและค่าที่เหมาะสมกับการแตกกิ่ง ในที่นี้สมมติจ านวนกิ่งท่ีจะแตกจาก temperature และ humidity

เท่ากับ 2 กิ่ง ค่าที่เหมาะสมกับการแตกกิ่งทั้งของ temperature และ humidity สมมติเป็นค่าน้อยกว่าหรือ

เท่ากับ 70 (<=70) และ ค่ามากกว่า 70 ขึ้นไป (>70) กรณีทีส่ามารถจ าแนกค าตอบ Play ได้อย่างสมบูรณ์

ได้แก่

outlook = sunny และ humidity <=70 แล้วจะได้ค่า Play เท่ากับ Yes เสมอ (1 ระเบียน)

outlook = sunny และ humidity >70 แล้วจะได้ค่า Play เท่ากับ No เสมอ (3 ระเบียน)

outlook = sunny และ windy = True แล้วจะได้ค่า Play เท่ากับ No เสมอ (1 ระเบียน)

outlook = rainy และ temperature > 70 แล้วจะได้ค่า Play เท่ากับ Yes เสมอ (1 ระเบียน)

outlook = rainy และ windy = True แล้วจะได้ค่า Play เท่ากับ No เสมอ (1 ระเบียน)

outlook = rainy และ windy = False แล้วจะได้ค่า Play เท่ากับ Yes เสมอ (3 ระเบียน)

เนื่องจากมีค่าที่ให้ค าตอบได้อย่างสมบูรณ์มากกว่า 1 กรณีในที่นี้จะเลือกกรณีท่ีครอบคลุมจ านวน

ระเบียนมากท่ีสุด 1 กรณี คือ กรณีท่ี outlook = sunny และ humidity >70 แล้วจะได้ค่า Play เท่ากับ No

เสมอ ซึ่งจะท าให้ได้ต้นไม้และข้อมูลที่เหลือในการใช้แตกก่ิงต่อไป ดังรูปที่ 5.6

รูปที่ 5.6 แสดงต้นไม้หลังจากมีการคัดเลือกโหนด และข้อมูลที่เหลือในการใช้แตกกิ่งครั้งที่ 1

บทที่ 5 เทตนิคการจ าแนก (Classification)

217

เริ่มพิจารณาโหนดใหม่ โดยพิจารณาจากระเบียนข้อมูลที่เหลือในรูปที่ 5.6 โดยพิจารณาจากค่าแอทริ

บิวต์อ่ืนที่ค่าของมันสามารถจ าแนกค าตอบ Play ได้อย่างสมบูรณ์ ในที่นี้เลือก outlook = rainy และ windy =

False แลว้จะได้ค่า Play เท่ากับ Yes เสมอ (มี 3 ระเบียน) จะท าให้ได้ต้นไม้และข้อมูลที่เหลือในการใช้แตกกิ่ง

ต่อไป ดังรูปที่ 5.7

รูปที่ 5.7 แสดงต้นไม้หลังจากมีการคัดเลือกโหนด และข้อมูลที่เหลือในการใช้แตกกิ่งครั้งที่ 2

เริ่มพิจารณาโหนดใหม่ โดยพิจารณาจากระเบียนข้อมูลที่เหลือ ท าไปจนไม่มีระเบียนข้อมูลให้พิจารณา

ก็จะได้ต้นไม้ที่แตกก่ิงครอบคลุมทั้ง 10 ระเบียน ดังรูปที่ 5.8

บทที่ 5 เทตนิคการจ าแนก (Classification)

218

รูปที่ 5.8 แสดงต้นไม้หลังจากแตกกิ่งอย่างสมบูรณ์

ในตัวอย่างที่ 5.2 เป็นตัวอย่างการสร้างต้นไม้ตัดสินใจด้วยมือ ซึ่งในทางปฏิบัติจริงๆ แล้วไม่สามารถท า

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

อาศัยเครื่องมือเพ่ือน ามาใช้วัดความสามารถในการจ าแนกแต่ละแอทริบิวต์ ซึ่งมีอยู่หลากหลายเครื่องมือ เช่น

ดรรชนีจินี่ (Gini Index) เอ็นโทรปี (Entropy) และความพลาดในการจ าแนกผิด (Misclassification error)

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

แตกต่างกันไป

5.3 เทคนิค Random Forest

Random Forest คือขั้นตอนวิธีหนึ่งของการเรียนรู้ของเครื่องที่นิยมใช้มากใช้ได้ดีในหลายๆ ปัญหา ทั้ง

กับปัญหาแบบ Regression และ Classification โดย Random Forest เป็นขั้นตอนวิธีพัฒนาต่อยอดมาจาก

Decision Tree ต่างกันที่ Random Forest เป็นการเพ่ิมจ านวนต้นไม้ (Tree) เป็นหลายๆ ต้น ท าให้

ประสิทธิภาพการท างานและพยากรณ์สูงขึ้น Random Forest มีหลักการท างาน คือ จะแบ่งข้อมูลออกเป็น

ต้นไม้ตัดสินใจ (Decision Tree) หลายๆ ต้น โดยแต่ละต้นจะได้รับคุณลักษณะ (Feature) และข้อมูล (Data) ที่

ไม่เหมือนกันทั้งหมด เพ่ือท าให้ได้ต้นไม้ที่มีความหลากหลายและมีความอิสระต่อกันมากขึ้น ตัวอย่างการแบ่ง

ข้อมูลและการสุ่มเลือก feature ดังรูปที่ 5.9 และ 5.10 ตามล าดับ (PradyaSin, 2019)

บทที่ 5 เทตนิคการจ าแนก (Classification)

219

รูปที่ 5.9 ตัวอย่างการแบ่งข้อมูลสร้างต้นไม้ตัดสินใจ

รูปที่ 5.10 ตัวอย่างการท า Random Sample Feature

การท างานของ Random Forest จะเริ่มต้นจาก

1. ท าการสุ่มเลือก feature และ data จากชุดข้อมูลทั้งหมดที่มี

2. สร้างต้นไม้ตัดสินใจจากชุดข้อมูลตัวอย่างแต่ละชุด และหาค่าพยากรณ์จากต้นไม้แต่ละต้น

3. เลือกจ านวนต้นไม้ตัดสินใจที่ต้องการ จากนั้นท าซ้ าในขั้นตอน 1 และ 2 ในการสร้างต้นไม้

4. หาค่าพยากรณ์ โดยค่าพยากรณ์ท่ีได้จะเป็นการให้ต้นไม้ตัดสินใจแต่ละต้นหาค่าพยากรณ์ของใครของ

มัน จากนั้นค่าพยากรณ์สุดท้าย ในกรณีท่ีปัญหาเป็นเพื่อการจ าแนก (Classification) จะใช้วิธีผลโหวตมากที่สุด

(Majority vote) โดยค่าพยากรณ์ของต้นไม้ตัดสินใจต้นได้รับค่าผลโหวตมากที่สุด จะถูกเลือกให้เป็นค่าพยากรณ์

ของปัญหา แต่ถ้าเป็นปัญหาวิเคราะห์การถดถอย (Regression) จะใช้วิธีค านวณหาค่าเฉลี่ย (Mean) โดยน าเอา

ค่าพยากรณ์ของทุกต้นไม้ตัดสินใจมาค านวณหาค่าเฉลี่ยเพ่ือแสดงเป็นค่าพยากรณ์ของปัญหา

บทที่ 5 เทตนิคการจ าแนก (Classification)

220

ขั้นตอนการท างานของ Random Forest แสดงตัวอย่างดังรูปที่ 5.11 และ 5.12 ตามล าดับ

รูปที่ 5.11 ตัวอย่างขั้นตอนการท างานของเทคนิค Random Forest

รูปที่ 5.12 แสดงตัวอย่างของค่าพยากรณ์ด้วยวิธีผลโหวตมากที่สุด

บทที่ 5 เทตนิคการจ าแนก (Classification)

221

ข้อดีของ Random Forest มีดังนี้

1. ใช้ได้ทั้งกับปัญหา classification และ regression

2. ใช้ได้ทั้งกับข้อมูลมีโครงสร้าง (structured) และไม่มีโครงสร้าง ข้อมูลมีโครงสร้าง เช่น เช่น

ข้อมูลจัดเก็บเป็นตารางหรือคอลัมน์แล้ว เป็นต้น ข้อมูลไม่มีโครงสร้าง เช่น รูปภาพ หรือข้อความ เป็นต้น

3. ป้องกันการเกิด overfitting กับชุดข้อมูลที่น ามาสร้าง

อย่างไรก็ตาม Random Forest มีข้อเสีย คือ ผลลัพธ์ที่ได้แปรผลเพื่อน าไปประยุกต์ใช้ท าได้ค่อนข้าง

ยาก

5.4 เอกสารอ้างอิง

วิกิพีเดีย. 2563. ต้นไม้ตัดสินใจ. เข้าถึงได้จาก https://th.wikipedia.org/wiki/ต้นไม้ตัดสินใจ

จรัสศรี รุ่งรัตนาอุบล. 2562. ขั้นตอนวิธีของเทคนิคต้นไม้ตัดสินใจ.เอกสารประกอบการสอนรายวิชา 269543

การท าเหมืองข้อมูลและข้อมูลขนาดใหญ่. คณะวิทยาศาสตร์ มหาวิทยาลัยนเรศวร.

PradyaSin. 2019. Random Forest คืออะไร. เข้าถึงได้จาก

https://medium.com/@pradyasin/random-forest-คืออะไร-74d2a0af3d7

บทที่ 5 เทตนิคการจ าแนก (Classification)

222

-หน้าว่าง-