Confusion Matrix ใน R: วิธีการสร้างและคำนวณ [พร้อมตัวอย่าง]
เผยแพร่แล้ว: 2021-03-09R กลายเป็นหนึ่งในแพ็คเกจซอฟต์แวร์ชั้นนำสำหรับข้อมูลและการวิเคราะห์ทางสถิติในปัจจุบัน เป็นสภาพแวดล้อมแบบโอเพนซอร์สที่ต้องการสำหรับความสามารถด้านการประมวลผล ภาพ และกราฟิกที่แข็งแกร่ง หากคุณเป็นนักศึกษาวิศวกรรมศาสตร์ ผู้เชี่ยวชาญด้านการวิเคราะห์ธุรกิจ หรือผู้ที่มีความสนใจในด้านวิทยาศาสตร์ข้อมูล การเรียนรู้ภาษาโปรแกรม R สามารถช่วยคุณได้หลายวิธี
ในบทความนี้ เราจะพูดถึงแนวคิดพื้นฐานบางประการของการเรียนรู้ของเครื่องผ่านชุดเครื่องมือที่ผสานรวมนี้ โดยเฉพาะอย่างยิ่ง เราจะพูดถึงวิธีการคำนวณ เมทริก ซ์ ความสับสนใน R
แต่ก่อนที่เราจะพูดถึงเรื่องทางเทคนิค ให้เราเข้าใจก่อนว่าทำไมเราถึงเลือก R เพื่อจุดประสงค์นี้ เนื่องด้วยประโยชน์ดังต่อไปนี้ที่ภาษาการเขียนโปรแกรมนี้กำลังได้รับความนิยมในหมู่นักสถิติและนักวิทยาศาสตร์ด้านข้อมูลทั่วโลก:
- ทำซ้ำได้: ด้วย R คุณสามารถทำซ้ำรายงานและเขียนโค้ดที่ใช้ซ้ำได้
- แชร์ได้: มีช่วงการเรียนรู้ต่ำ ซึ่งเปิดช่องทางสำหรับการทำงานร่วมกัน
- ทำซ้ำได้: ทุกคนไม่เพียงสามารถเข้าใจสิ่งที่คุณทำ แต่ยังทำซ้ำขั้นตอนเพื่อสร้างฟังก์ชันเดียวกันบนเครื่องของพวกเขา
การใช้ภาษา R ในด้านการเรียนรู้ของเครื่องก็เพิ่มขึ้นเช่นกันเนื่องจากเหตุผลข้างต้น คุณไม่จำเป็นต้องเป็นโปรแกรมเมอร์ผู้เชี่ยวชาญเพื่อทำความเข้าใจไวยากรณ์ ดังนั้น เราจะแนะนำพื้นฐานบางอย่างให้คุณทราบในหัวข้อถัดไป
สารบัญ
Confusion Matrix คืออะไร?
เมทริกซ์ความสับสน หรือเมทริกซ์ข้อผิดพลาด เกี่ยวข้องกับปัญหาการจำแนกประเภทมาตรฐานในสถิติ ประกอบด้วยเค้าโครงตารางเฉพาะที่อำนวยความสะดวกให้นักวิเคราะห์ข้อมูลเห็นภาพว่าอัลกอริทึมทำงานอย่างไร โดยเฉพาะอย่างยิ่งนี้ใช้กับอัลกอริธึมการเรียนรู้ภายใต้การดูแล
ในการอธิบายให้ละเอียดยิ่งขึ้น เมทริกซ์ความสับสนจะใช้รูปแบบ N x N โดยที่ N หมายถึงตัวเลขไปยังคลาสเป้าหมาย คุณสามารถใช้ตารางหรือเมทริกซ์นี้เพื่อประเมินประสิทธิภาพของแบบจำลองการจัดประเภท เป็นไปได้เนื่องจากเมทริกซ์เปรียบเทียบค่าที่คาดการณ์ไว้กับค่าเป้าหมาย
โดยสังเขป คุณสามารถอธิบายว่าโมเดลแมชชีนเลิร์นนิงของคุณ ในกรณีนี้ ตัวแยกประเภททำงานอย่างไรกับชุดข้อมูลทดสอบ (ซึ่งคุณมีค่าจริงอยู่แล้ว)
เพื่อให้เข้าใจวิธีการนี้ คุณต้องทำความคุ้นเคยกับเงื่อนไขต่อไปนี้:
- True Positive (TP): ค่าบวกถูกทำนายอย่างถูกต้อง
- False Positive (FP): ค่าลบถูกคาดการณ์อย่างไม่ถูกต้องว่าเป็นค่าบวก
- ค่าลบเท็จ (FN): ค่าบวกคาดการณ์ว่าเป็นค่าลบ
- True Negative (TN): ค่าลบที่คาดการณ์ว่าเป็นค่าลบที่เกิดขึ้นจริง
ให้เราดูตัวอย่างบางส่วนเพื่อให้มีความชัดเจนมากขึ้น
ตัวอย่างเมทริกซ์ความสับสน
- ทรูบวก
เมื่อคุณได้ทำนายอินเดียจะชนะคริกเก็ตเวิลด์คัพและมันชนะ
- บวกเท็จ
เมื่อคุณคาดหวังว่าอินเดียจะชนะ แต่ก็แพ้
- ลบเท็จ
เมื่อคุณได้ทำนายไว้ว่าฝรั่งเศสจะไม่ชนะแต่ก็ชนะ
- ทรูเนกาทีฟ
เมื่อคุณคาดการณ์ว่าอินเดียจะ 'ไม่ชนะ' การแข่งขันคริกเก็ตฟุตบอลโลกและสูญเสียซีรีส์ไปในชีวิตจริง
ขณะที่เราก้าวต่อไป คุณควรจำไว้ว่าค่าที่คาดการณ์ทั้งหมดมีการอธิบายดังนี้: บวก ลบ จริง และเท็จ
วิธีการคำนวณ Confusion Matrix ใน R?
พิจารณาสถานการณ์ที่คุณมีรายการค่าที่คาดหวังหรือที่ทราบ และรายการการคาดคะเนอื่นๆ จากโมเดลการเรียนรู้ของเครื่องของคุณ ใน R คุณสามารถคำนวณเมทริกซ์ความสับสนได้โดยใช้ฟังก์ชันอย่างง่ายจากไลบรารีคาเร็ต: destroyMatrix() ไม่เพียงแต่สามารถคำนวณเมทริกซ์เท่านั้น แต่ยังส่งคืนรายงานโดยละเอียดสำหรับผลลัพธ์อีกด้วย
คุณสามารถทำตามขั้นตอนที่กล่าวถึงด้านล่างเพื่อฝึกกระบวนการทำเหมืองข้อมูล:
- ทดสอบชุดข้อมูลที่กำหนดด้วยผลลัพธ์ที่คาดหวัง
- ทำนายแถวของชุดข้อมูลทดสอบของคุณ
- กำหนดจำนวนรวมของการทำนายที่ถูกต้องและไม่ถูกต้องสำหรับแต่ละชั้นเรียน
เมื่อคุณทำสิ่งนี้แล้ว คุณจะพบตัวเลขที่จัดเรียงในลักษณะต่อไปนี้:
- ทุกแถวของเมทริกซ์จะสอดคล้องกับคลาสที่คาดการณ์ไว้ และทุกคอลัมน์จะเชื่อมโยงกับคลาสจริง
- จำนวนรวมของการจำแนกประเภทที่ถูกต้องและไม่ถูกต้องจะแสดงในตารางพร้อมกับผลรวมสำหรับแต่ละชั้นเรียน
สมมุติว่าคุณมี 10 คน แบ่งเป็น 2 คลาส ชายและหญิง คุณต้องจัดเรียงข้อมูลเป็นเมทริกซ์ความสับสนเมื่อคุณรู้ว่าผู้ชาย 2 คนถูกจัดประเภทเป็นผู้หญิง ในขณะที่ผู้หญิง 1 คนจัดเป็นผู้ชาย
ผู้หญิง ผู้ชาย
ผู้หญิง 3 1
ผู้ชาย 2 4
ในที่นี้ ค่าที่ถูกต้องจะถูกจัดเรียงเป็นเส้นทแยงมุมจากด้านบนซ้ายไปขวาล่างสุดของเมทริกซ์ (3 + 4) ผลลัพธ์บอกเราว่ามีข้อผิดพลาดในการคาดการณ์สมาชิกชายเป็นผู้หญิงมากกว่าการทำนายว่าผู้หญิงเป็น ผู้ชาย อัลกอริธึมทำนายได้ถูกต้อง 7 ครั้งจาก 10 ผลลัพธ์ที่เป็นไปได้ ซึ่งหมายความว่ามีความแม่นยำ 70%
คู่มือการสร้างและคำนวณ C onfusion Matrix ใน R
ดังที่คุณสังเกตได้ ฟังก์ชันเมทริกซ์ความสับสน เป็นเครื่องมือที่มีประโยชน์ในการตรวจสอบผลลัพธ์ที่เป็นไปได้ของการคาดคะเนของคุณ ดังนั้น ก่อนที่คุณจะเริ่มสร้างเมทริกซ์ของคุณ ก่อนอื่นคุณต้อง "ตัด" ค่าความน่าจะเป็นของคุณเสียก่อน กล่าวอีกนัยหนึ่ง คุณต้องทำเครื่องหมายเกณฑ์เพื่อเปลี่ยนความน่าจะเป็นของคุณเป็นการคาดคะเนของชั้นเรียน
ในการดำเนินการนี้ คุณสามารถใช้ฟังก์ชัน ifelse() ตัวอย่างเช่น:
class_prediction <-
ifelse (ความน่าจะเป็น_การทำนาย > 0.50,
“ positive_class”,
“negative_class”
)
คุณยังสามารถเขียนฟังก์ชัน table() เพื่อสร้างตารางฉุกเฉินในฐาน R อย่างไรก็ตาม ฟังก์ชันสับสนเมทริกซ์ () เป็นที่ทราบกันดีอยู่แล้วว่าให้ผลสถิติเสริมที่มีค่า
ขั้นตอนต่อไปคือการคำนวณเมทริกซ์ความสับสนและสถิติอื่นๆ ที่เกี่ยวข้อง ที่นี่ คุณจะต้องมีผลลัพธ์ที่คาดการณ์ไว้และตามจริง ยกตัวอย่างข้อความที่ให้ไว้ด้านล่าง:
ความสับสนเมทริกซ์(คาดการณ์ จริง)
ตอนนี้ คุณควรดำเนินการเปลี่ยนการทำนายตัวเลขของคุณเป็นเวกเตอร์ของการทำนายชั้นเรียน sat p_class สมมติว่าคุณต้องการใช้จุดตัด 0.50
นอกจากนี้ ในขณะที่คาดการณ์ อย่าลืมตั้งชื่อคลาสบวกและลบด้วยตัวบ่งชี้แยกกัน เรียกคลาสบวกว่า "T" และตั้งชื่อคลาสเชิงลบว่า "L" สิ่งนี้ทำเพื่อจับคู่คลาสกับข้อมูลดั้งเดิม
ตอนนี้คุณมีค่า p_class และค่าจริงในชุดข้อมูลทดสอบแล้ว คุณสามารถเริ่มสร้างเมทริกซ์ความสับสน โดยเรียกฟังก์ชันสับสนเมทริกซ์ ()
หรือคุณอาจต้องการตรวจสอบความถูกต้องของแบบจำลองการทำเหมืองข้อมูลของคุณ ในกรณีเช่นนี้ ขอแนะนำให้ใช้ขีดจำกัด 0.10 ไม่ใช่ 0.90 หลังจากนั้น คุณสามารถทำตามขั้นตอนเดียวกับที่ทำในแบบฝึกหัดก่อนหน้าได้
ด้วยคลาสที่คาดคะเนใหม่ของคุณ คุณสามารถทำซ้ำการโทรนี้:
ก่อนหน้า <- ifelse(ความน่าจะเป็น > ขีดจำกัด, “T”, “L”)
สุดท้าย คุณสามารถใช้ฟังก์ชัน destroyMatrix() ในคาเร็ต:
ความสับสนเมทริกซ์(คาดการณ์ จริง)
ด้วยเหตุนี้ เราจึงสรุปบทช่วยสอนนี้เกี่ยวกับ ฟังก์ชันเมทริกซ์ความสับสน สำหรับแมชชีนเลิร์นนิงใน R หวังว่าคุณจะพบว่ามีประโยชน์!
บทสรุป
หากคุณอยากเรียนรู้เกี่ยวกับ R, data science, ลองดู PG Diploma in Data Science ซึ่งสร้างขึ้นสำหรับมืออาชีพด้านการทำงานและเสนอกรณีศึกษาและโครงการมากกว่า 10 รายการ, เวิร์กช็อปภาคปฏิบัติ, การให้คำปรึกษากับผู้เชี่ยวชาญในอุตสาหกรรม, ตัวต่อตัว ที่ 1 พร้อมที่ปรึกษาในอุตสาหกรรม การเรียนรู้มากกว่า 400 ชั่วโมงและความช่วยเหลือด้านงานกับบริษัทชั้นนำ
เหตุผลต่อไปนี้ทำให้เราได้รู้จักประโยชน์ของการมีเมทริกซ์ความสับสนและวิธีจัดการกับปัญหาด้านประสิทธิภาพ เมทริกซ์ความสับสนใน R สามารถคำนวณได้โดยใช้ฟังก์ชัน “confusionMatrix()” ของไลบรารีคาเร็ต ฟังก์ชันนี้ไม่เพียงแต่คำนวณเมทริกซ์เท่านั้น แต่ยังส่งคืนรายงานโดยละเอียดของเมทริกซ์ด้วย คุณต้องทำตามขั้นตอนบางอย่างเพื่อคำนวณเมทริกซ์ความสับสนของคุณ คุณสามารถคำนวณอัตราความแม่นยำของแบบจำลองได้โดยใช้เมทริกซ์ความสับสน 2x2 สูตรต่อไปนี้จะทำให้คุณได้รับอัตราความสำเร็จหรืออัตราความถูกต้อง:ความจำเป็นในการสร้างเมทริกซ์ความสับสนคืออะไร?
1. จำเป็นต้องใช้เมทริกซ์ความสับสนเพื่อขจัดปัญหาด้วยความถูกต้องของการจำแนกประเภท อัตราส่วนการจัดประเภทมักทำให้เกิดปัญหาโดยการปกปิดรายละเอียดที่จำเป็นของแบบจำลอง
2. เมทริกซ์ความสับสนให้ข้อมูลเชิงลึกเกี่ยวกับการคาดคะเน และประเภทของข้อผิดพลาดที่เกิดขึ้นในแบบจำลองการจัดหมวดหมู่ การคาดคะเนที่ถูกต้องและผิดพลาดจะนำเสนอในลักษณะสรุป
3. ข้อผิดพลาดและประเภทของข้อผิดพลาดจะถูกจัดประเภทเพื่อให้คุณเข้าใจถึงประสิทธิภาพของแบบจำลองของคุณ จะคำนวณเมทริกซ์ความสับสนใน R ได้อย่างไร?
1. ทดสอบชุดข้อมูลของคุณ
2. ทำนายจำนวนแถวทั้งหมด
3. ทำนายผลรวมคำทำนายที่ถูกต้องและไม่ถูกต้องสำหรับทุกชั้นเรียน
เมื่อคุณขุดข้อมูลของคุณแล้ว คุณจะได้รับตัวเลขที่จัดเรียงเป็นแถว แถวจะเชื่อมต่อกับคลาสที่คาดการณ์ไว้ ในขณะที่คอลัมน์จะเชื่อมต่อกับคลาสจริง ค่าที่ถูกต้องจะอยู่ในแนวทแยง เพิ่มค่าทั้งหมดแล้วคุณจะได้รับเปอร์เซ็นต์ความแม่นยำของเมทริกซ์ของคุณ จะวัดประสิทธิภาพในเมทริกซ์ความสับสนได้อย่างไร
ความแม่นยำ = (TP+TN)/(TP+TN+FP+FN)
โดยที่ TP = True Positive ,TN = True Negative,FP = False Positive, FN = False Negative
อัตราความผิดพลาดของแบบจำลองของคุณสามารถคำนวณได้ด้วยสูตรคำนวณอัตรา ซึ่งก็คือ:
ความแม่นยำ = (TP+TN)/(TP+TN+FP+FN) = 1-ความแม่นยำ
แนวคิดเรื่องอัตราความผิดพลาดนั้นง่ายมาก สมมติว่าโมเดลของคุณมีอัตราความแม่นยำ 80% จากนั้นอัตราความผิดพลาดของโมเดลของคุณจะเท่ากับ 20%