Confusion Matrix ใน R: วิธีการสร้างและคำนวณ [พร้อมตัวอย่าง]

เผยแพร่แล้ว: 2021-03-09

R กลายเป็นหนึ่งในแพ็คเกจซอฟต์แวร์ชั้นนำสำหรับข้อมูลและการวิเคราะห์ทางสถิติในปัจจุบัน เป็นสภาพแวดล้อมแบบโอเพนซอร์สที่ต้องการสำหรับความสามารถด้านการประมวลผล ภาพ และกราฟิกที่แข็งแกร่ง หากคุณเป็นนักศึกษาวิศวกรรมศาสตร์ ผู้เชี่ยวชาญด้านการวิเคราะห์ธุรกิจ หรือผู้ที่มีความสนใจในด้านวิทยาศาสตร์ข้อมูล การเรียนรู้ภาษาโปรแกรม 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 ชั่วโมงและความช่วยเหลือด้านงานกับบริษัทชั้นนำ

ความจำเป็นในการสร้างเมทริกซ์ความสับสนคืออะไร?

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

จะคำนวณเมทริกซ์ความสับสนใน R ได้อย่างไร?

เมทริกซ์ความสับสนใน R สามารถคำนวณได้โดยใช้ฟังก์ชัน “confusionMatrix()” ของไลบรารีคาเร็ต ฟังก์ชันนี้ไม่เพียงแต่คำนวณเมทริกซ์เท่านั้น แต่ยังส่งคืนรายงานโดยละเอียดของเมทริกซ์ด้วย คุณต้องทำตามขั้นตอนบางอย่างเพื่อคำนวณเมทริกซ์ความสับสนของคุณ
1. ทดสอบชุดข้อมูลของคุณ
2. ทำนายจำนวนแถวทั้งหมด
3. ทำนายผลรวมคำทำนายที่ถูกต้องและไม่ถูกต้องสำหรับทุกชั้นเรียน
เมื่อคุณขุดข้อมูลของคุณแล้ว คุณจะได้รับตัวเลขที่จัดเรียงเป็นแถว แถวจะเชื่อมต่อกับคลาสที่คาดการณ์ไว้ ในขณะที่คอลัมน์จะเชื่อมต่อกับคลาสจริง ค่าที่ถูกต้องจะอยู่ในแนวทแยง เพิ่มค่าทั้งหมดแล้วคุณจะได้รับเปอร์เซ็นต์ความแม่นยำของเมทริกซ์ของคุณ

จะวัดประสิทธิภาพในเมทริกซ์ความสับสนได้อย่างไร

คุณสามารถคำนวณอัตราความแม่นยำของแบบจำลองได้โดยใช้เมทริกซ์ความสับสน 2x2 สูตรต่อไปนี้จะทำให้คุณได้รับอัตราความสำเร็จหรืออัตราความถูกต้อง:
ความแม่นยำ = (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%