การตรวจจับชุมชนแบบ Fast-greedy
วิธีการตรวจจับชุมชนแรกที่จะได้ลองใช้คือ fast-greedy community detection โดยใช้เครือข่าย Zachary Karate Club ซึ่งเป็นเครือข่ายสังคมที่ประกอบด้วยสมาชิก 34 คน และมีเส้นเชื่อม 78 เส้น แต่ละเส้นเชื่อมแสดงว่าสมาชิกทั้งสองมีปฏิสัมพันธ์กันทั้งภายในและภายนอกชมรมคาราเต้ จากเครือข่ายนี้ จะได้วิเคราะห์ว่ามีชุมชนย่อยกี่กลุ่ม และสมาชิกแต่ละคนอยู่ในกลุ่มใด พร้อมทั้งสร้างกราฟแสดงเครือข่ายตามการแบ่งกลุ่มชุมชน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์เครือข่ายใน R
คำแนะนำการฝึกหัด
- ใช้ฟังก์ชัน
fastgreedy.community()เพื่อสร้างออบเจกต์ชุมชน แล้วกำหนดให้กับออบเจกต์ชื่อkc - ใช้ฟังก์ชัน
sizes()กับkcเพื่อตรวจสอบว่ามีการตรวจพบชุมชนกี่กลุ่ม และแต่ละกลุ่มมีสมาชิกกี่คน - แสดงว่าสมาชิกแต่ละคนอยู่ในชุมชนใด โดยใช้ฟังก์ชัน
membership() - สร้างกราฟชุมชนแบบค่าเริ่มต้นโดยใช้ฟังก์ชัน
plot()โดยให้อาร์กิวเมนต์แรกเป็นออบเจกต์kcและอาร์กิวเมนต์ที่สองเป็นออบเจกต์กราฟg
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Perform fast-greedy community detection on network graph
kc = ___(g)
# Determine sizes of each community
___(___)
# Determine which individuals belong to which community
___(___)
# Plot the community structure of the network
___(___, g)