การวิเคราะห์คลัสเตอร์ใน R: คู่มือฉบับสมบูรณ์ที่คุณต้องการ [2022]
เผยแพร่แล้ว: 2021-01-04หากคุณเคยก้าวแม้แต่ก้าวเดียวในโลกของ data science หรือ Python คุณจะเคยได้ยินเกี่ยวกับ R.
พัฒนาขึ้นเป็นโครงการ GNU R เป็นทั้งภาษาและสภาพแวดล้อมที่ออกแบบมาสำหรับกราฟิกและการคำนวณทางสถิติ มันคล้ายกับภาษา S ดังนั้นจึงถือได้ว่าเป็นการใช้งาน
ในภาษา R สามารถขยายได้อย่างมาก มีเทคนิคทางสถิติและกราฟิกที่หลากหลาย เช่น การวิเคราะห์อนุกรมเวลา การสร้างแบบจำลองเชิงเส้น การสร้างแบบจำลองแบบไม่เชิงเส้น การจัดกลุ่ม การจำแนกประเภท การทดสอบทางสถิติแบบคลาสสิก
เป็นหนึ่งในเทคนิคเหล่านี้ที่เราจะทำการสำรวจอย่างลึกซึ้งยิ่งขึ้น นั่นคือ การวิเคราะห์คลัสเตอร์หรือคลัสเตอร์!
สารบัญ
การวิเคราะห์คลัสเตอร์คืออะไร
ในแง่ที่ง่ายที่สุด การจัดกลุ่มเป็นวิธีการแบ่งส่วนข้อมูลโดยที่ข้อมูลถูกแบ่งออกเป็นหลายกลุ่มตามความคล้ายคลึงกัน
การประเมินความคล้ายคลึงกันเป็นอย่างไร? บนพื้นฐานของการวัดระยะการสังเกตระหว่างกัน สิ่งเหล่านี้สามารถเป็นได้ทั้งการวัดระยะทางแบบยุคลิดหรือแบบอิงสหสัมพันธ์
การวิเคราะห์คลัสเตอร์เป็นหนึ่งในวิธีการวิเคราะห์ข้อมูลและการทำเหมืองข้อมูลที่ได้รับความนิยมมากที่สุดและใช้งานง่าย เหมาะอย่างยิ่งสำหรับกรณีที่มีข้อมูลจำนวนมาก และเราต้องดึงข้อมูลเชิงลึกออกมา ในกรณีนี้ ข้อมูลจำนวนมากสามารถแบ่งออกเป็นกลุ่มย่อยหรือกลุ่มย่อย
กลุ่มเล็กๆ ที่ก่อตัวและได้มาจากชุดข้อมูลทั้งหมดเรียกว่าคลัสเตอร์ สิ่งเหล่านี้ได้มาจากการดำเนินการทางสถิติตั้งแต่หนึ่งรายการขึ้นไป แต่ละคลัสเตอร์ แม้ว่าจะมีองค์ประกอบต่างกัน แต่มีคุณสมบัติร่วมกันดังต่อไปนี้:
- ไม่ทราบจำนวนของพวกเขาล่วงหน้า
- ได้มาจากการดำเนินการทางสถิติ
- แต่ละคลัสเตอร์มีอ็อบเจ็กต์ที่คล้ายคลึงและมีลักษณะทั่วไป
แม้จะไม่มีชื่อ 'แฟนซี' ของการวิเคราะห์คลัสเตอร์ แต่ก็มีการใช้สิ่งเดียวกันนี้ในชีวิตประจำวันเป็นจำนวนมาก
ในระดับบุคคล เราจัดกลุ่มของสิ่งที่เราต้องแพ็คเมื่อเราออกเดินทางในวันหยุด เสื้อผ้าชุดแรก เครื่องใช้ในห้องน้ำ หนังสือ และอื่นๆ เราสร้างหมวดหมู่แล้วจัดการเป็นรายบุคคล
บริษัทต่างๆ ใช้การวิเคราะห์กลุ่มเช่นกัน เมื่อทำการแบ่งส่วนรายชื่ออีเมลและจัดหมวดหมู่ลูกค้าตามอายุ ภูมิหลังทางเศรษฐกิจ พฤติกรรมการซื้อก่อนหน้านี้ ฯลฯ
การวิเคราะห์คลัสเตอร์เรียกอีกอย่างว่า 'การเรียนรู้ของเครื่องที่ไม่ได้รับการดูแล' หรือการรู้จำรูปแบบ ไม่ได้รับการดูแลเนื่องจากเราไม่ต้องการจัดหมวดหมู่ตัวอย่างเฉพาะเจาะจงเฉพาะกลุ่มตัวอย่างเท่านั้น การเรียนรู้เนื่องจากอัลกอริทึมยังเรียนรู้วิธีการจัดกลุ่ม
3 วิธีการจัดกลุ่ม
เรามีสามวิธีที่มักใช้สำหรับการจัดกลุ่ม เหล่านี้คือ:
- การจัดกลุ่มแบบลำดับชั้นแบบรวมกลุ่ม
- การจัดกลุ่มเชิงสัมพันธ์/ วิธี Condorcet
- k-หมายถึงการจัดกลุ่ม
1. การจัดกลุ่มแบบลำดับชั้นแบบรวมกลุ่ม
นี่เป็นประเภททั่วไปของการจัดกลุ่มแบบลำดับชั้น อัลกอริทึมสำหรับ AHC ทำงานในลักษณะจากล่างขึ้นบน เริ่มต้นโดยคำนึงถึงจุดข้อมูลแต่ละจุดเป็นคลัสเตอร์ในตัวเอง (เรียกว่าลีฟ)
จากนั้นจึงรวมเอาสองคลัสเตอร์ที่มีความคล้ายคลึงกันมากที่สุดเข้าด้วยกัน คลัสเตอร์ใหม่และใหญ่ขึ้นเหล่านี้เรียกว่าโหนด การจัดกลุ่มจะเกิดขึ้นซ้ำๆ จนกว่าชุดข้อมูลทั้งหมดจะมารวมกันเป็นกลุ่มใหญ่กลุ่มเดียวที่เรียกว่ารูท
การแสดงภาพและการวาดภาพแต่ละขั้นตอนของกระบวนการ AHC จะนำไปสู่การสร้างต้นไม้ที่เรียกว่า dendrogram
การย้อนกลับกระบวนการ AHC จะนำไปสู่การแบ่งกลุ่มและการสร้างคลัสเตอร์
เดนโดรแกรมยังสามารถแสดงเป็นภาพได้ดังนี้:
แหล่งที่มา
โดยสรุป หากคุณต้องการอัลกอริทึมที่สามารถระบุคลัสเตอร์ขนาดเล็กได้ดี ให้เลือก AHC ถ้าคุณต้องการแบบที่ดีในการระบุคลัสเตอร์ขนาดใหญ่ วิธีการจัดคลัสเตอร์แบบแบ่งส่วนควรเป็นทางเลือกของคุณ
2. วิธีการจัดกลุ่มเชิงสัมพันธ์/ วิธี Condorcet
'การจัดกลุ่มโดยการรวมความคล้ายคลึงกัน' เป็นอีกชื่อหนึ่งสำหรับวิธีนี้ มันทำงานดังนี้:
มีการเปรียบเทียบแต่ละอ็อบเจ็กต์เป็นคู่ที่สร้างคลัสเตอร์ส่วนกลาง สำหรับเวกเตอร์ m(A, B) และ d(A, B) จะมีการกำหนดค่าแต่ละคู่ (A, B) ในเวกเตอร์ b(A, B) ทั้ง A และ B มีค่าเท่ากัน ในขณะที่ในเวกเตอร์ d(A, B) ทั้งคู่มีค่าต่างกัน)
ค่าแต่ละค่าของ A และ B ทั้งสองค่านั้นเป็นไปตามเกณฑ์ Condorcet ดังนี้:
c(A, B) = m(A, B)- d(A, B)
สำหรับค่าส่วนบุคคลเช่น A และคลัสเตอร์ที่เรียกว่า S เกณฑ์ Condorcet จะเป็นดังนี้:

c(A,S) = Σ ฉัน c(A,B ฉัน )
ผลรวมโดยรวมคือ Bi ∈ S
เมื่อปฏิบัติตามเงื่อนไขข้างต้นแล้ว จะมีการสร้างกลุ่มของรูปแบบ c(A, S) A สามารถมีค่าน้อยที่สุดเป็น 0 และเป็นจุดข้อมูลที่ใหญ่ที่สุดในคลัสเตอร์
ในที่สุด เกณฑ์ Condorcet ทั่วโลกจะถูกคำนวณ ทำได้โดยทำการรวมจุดข้อมูลแต่ละจุดที่มีอยู่ใน A และคลัสเตอร์ S A ที่มีจุดข้อมูลเหล่านี้
ขั้นตอนข้างต้นทำซ้ำจนกว่าเกณฑ์ Condorcet ทั่วโลกจะไม่ดีขึ้นหรือถึงจำนวนการทำซ้ำที่ใหญ่ที่สุด
3. k-หมายถึงการจัดกลุ่ม
นี่เป็นหนึ่งในอัลกอริธึมการแบ่งพาร์ติชั่นที่ได้รับความนิยมมากที่สุด ข้อมูลที่มีอยู่ทั้งหมด (บางครั้งเรียกว่าจุดข้อมูล/การสังเกต) จะถูกจัดกลุ่มเป็นกลุ่มเหล่านี้เท่านั้น นี่คือรายละเอียดเกี่ยวกับวิธีการดำเนินการของอัลกอริทึม:
- เลือก k กลุ่มโดยการสุ่ม k แถว เหล่านี้ จะหมายถึงการค้นหา k centroids สำหรับแต่ละคลัสเตอร์
- จากนั้นจุดข้อมูลแต่ละจุดจะถูกกำหนดให้กับเซนทรอยด์ที่ใกล้เคียงที่สุด
- เมื่อมีการกำหนดจุดข้อมูลมากขึ้นเรื่อยๆ เซนทรอยด์จะถูกคำนวณใหม่เป็นค่าเฉลี่ยของจุดข้อมูลทั้งหมด (กำลัง) ที่เพิ่มเข้ามา
- กำหนดจุดข้อมูลต่อไปและขยับเซนทรอยด์ตามต้องการ
- ทำซ้ำขั้นตอนที่ 3 และ 4 จนกว่าจะไม่มีจุดข้อมูลเปลี่ยนคลัสเตอร์
ระยะห่างระหว่างจุดข้อมูลกับเซนทรอยด์คำนวณโดยใช้วิธีใดวิธีหนึ่งต่อไปนี้
- ระยะทางแบบยุคลิด
- ระยะทางแมนฮัตตัน
- ระยะทางมินลอฟสกี้
ที่นิยมมากที่สุดของสิ่งเหล่านี้- ระยะทางแบบยุคลิด- คำนวณได้ดังนี้:
ทุกครั้งที่รันอัลกอริทึม ผลที่ได้คือกลุ่มต่างๆ การมอบหมายครั้งแรกให้กับตัวแปร k เป็นการสุ่มโดยสมบูรณ์ สิ่งนี้ทำให้ k-mean มีความอ่อนไหวต่อตัวเลือกแรกมาก ด้วยเหตุนี้ จึงแทบจะเป็นไปไม่ได้เลยที่จะจัดคลัสเตอร์เดียวกัน เว้นแต่ว่าจำนวนกลุ่มและการสังเกตโดยรวมจะมีน้อย
จะกำหนดค่าให้กับ ในตอนเริ่มต้น เราจะสุ่มกำหนดค่าให้กับ k ซึ่งจะกำหนดทิศทางของผลลัพธ์ เพื่อให้แน่ใจว่ามีตัวเลือกที่ดีที่สุด คุณควรคำนึงถึงสูตรต่อไปนี้:
โดยที่ n คือจำนวนจุดข้อมูลในชุดข้อมูล
โดยไม่คำนึงถึงการมีสูตรอยู่ จำนวนคลัสเตอร์จะขึ้นอยู่กับลักษณะของชุดข้อมูล อุตสาหกรรมและธุรกิจที่เป็นของ ฯลฯ เป็นอย่างมาก ดังนั้นจึงแนะนำให้คำนึงถึงประสบการณ์และสัญชาตญาณของตนเองด้วย
ด้วยขนาดคลัสเตอร์ที่ไม่ถูกต้อง การจัดกลุ่มอาจไม่ได้ผลเท่าที่ควรและอาจนำไปสู่การใช้มากเกินไป เนื่องจากการใช้ข้อมูลมากเกินไป จุดข้อมูลใหม่จึงอาจไม่สามารถค้นหาตำแหน่งในคลัสเตอร์ได้ เนื่องจากอัลกอริทึมได้ค้นหารายละเอียดเล็กๆ น้อยๆ และลักษณะทั่วไปทั้งหมดจะหายไป
การประยุกต์ใช้การวิเคราะห์คลัสเตอร์
ดังนั้นวิธีการจัดกลุ่มที่มีประสิทธิภาพใช้ที่ไหน? เราได้กล่าวถึงตัวอย่างบางส่วนข้างต้นคร่าวๆ ด้านล่างนี้คือบางกรณีเพิ่มเติม:
ยาและสุขภาพ
แพทย์สามารถให้การวินิจฉัยที่ดีขึ้นโดยพิจารณาจากอายุและลักษณะทางพันธุกรรมของผู้ป่วย ในที่สุดสิ่งนี้นำไปสู่การรักษาที่เป็นประโยชน์และสอดคล้องกันมากขึ้น ยาชนิดใหม่สามารถค้นพบได้ด้วยวิธีนี้ การจัดกลุ่มยาเรียกว่า nosology
สังคมวิทยา
ในแวดวงสังคม การรวมกลุ่มของผู้คนตามข้อมูลประชากร อายุ อาชีพ ที่ตั้งที่อยู่อาศัย ฯลฯ ช่วยให้รัฐบาลบังคับใช้กฎหมายและกำหนดนโยบายที่เหมาะสมกับกลุ่มที่หลากหลาย
การตลาด
ในด้านการตลาด คำว่าคลัสเตอร์จะถูกแทนที่ด้วยการแบ่งส่วน / การวิเคราะห์ประเภท ใช้เพื่อสำรวจและเลือกผู้ซื้อที่มีศักยภาพของผลิตภัณฑ์เฉพาะ จากนั้นบริษัทต่างๆ จะทดสอบองค์ประกอบของแต่ละคลัสเตอร์เพื่อดูว่าลูกค้ารายใดแสดงพฤติกรรมการเก็บกักไว้
โปรไฟล์ไซเบอร์
เป็นอินพุตสำหรับอัลกอริทึมการจัดกลุ่มที่จะนำมาใช้ที่นี่ หน้าเว็บที่ผ่านมาที่ผู้ใช้เข้าถึงจะถูกป้อนเข้า หน้าเว็บเหล่านี้จะถูกจัดกลุ่ม ในท้ายที่สุด โปรไฟล์ของผู้ใช้ตามกิจกรรมการท่องเว็บจะถูกสร้างขึ้น ตั้งแต่การปรับเปลี่ยนในแบบของคุณไปจนถึงความปลอดภัยในโลกไซเบอร์ ผลลัพธ์นี้สามารถใช้ประโยชน์ได้ทุกที่
ค้าปลีก
ร้านค้ายังได้รับประโยชน์จากการจัดกลุ่มลูกค้าตามอายุ ความชอบสี ลักษณะที่ต้องการ การซื้อในอดีต ฯลฯ ซึ่งช่วยให้ผู้ค้าปลีกสร้างประสบการณ์ที่ปรับแต่งได้เองและวางแผนข้อเสนอในอนาคตที่สอดคล้องกับความต้องการของลูกค้า
บทสรุป
ดังที่เห็นได้ชัด การวิเคราะห์คลัสเตอร์เป็นวิธีที่มีค่าสูง ไม่ว่าจะใช้ภาษาหรือสภาพแวดล้อมใดก็ตาม ไม่ว่าเราต้องการได้ข้อมูลเชิงลึก ดึงเอารูปแบบ หรือแยกส่วนโปรไฟล์ การวิเคราะห์คลัสเตอร์เป็นเครื่องมือที่มีประโยชน์มากพร้อมผลลัพธ์ที่สามารถทำได้ นำไปปฏิบัติได้จริง ความชำนาญในการทำงานกับอัลกอริธึมการจัดกลุ่มต่างๆ สามารถนำไปสู่การวิเคราะห์ข้อมูลที่แม่นยำและมีค่าอย่างแท้จริง
เรียนรู้ หลักสูตรวิทยาศาสตร์ข้อมูล จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว