ค้นหาโหนดที่มี degree centrality สูงที่สุด
ในแบบฝึกหัดนี้ เราจะเจาะลึกลงไปดูว่ามีอะไรน่าสนใจเกี่ยวกับนักเรียนที่มีการเชื่อมต่อมากที่สุดในเครือข่ายหรือไม่ เริ่มต้นด้วยการค้นหากลุ่มนักเรียนที่มีค่า degree centrality สูงที่สุด และจะบันทึกผลลัพธ์นี้ไว้สำหรับแบบฝึกหัดการพล็อตในขั้นต่อไป
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์เครือข่ายระดับกลางใน Python
คำแนะนำการฝึกหัด
- หาค่า degree centrality ที่ไม่ซ้ำกัน 5 อันดับแรก โดยใช้ฟังก์ชัน
sorted()ซึ่งอาร์กิวเมนต์แรกคือ set ของค่า degree centrality ของ G (เพื่อให้ได้ค่าที่ ไม่ซ้ำกัน) และอาร์กิวเมนต์ที่สองคือreverse=Trueเพื่อให้เรียงลำดับจากมากไปน้อย จากนั้นใส่การ slice ที่เหมาะสมต่อท้ายคำสั่งเพื่อจำกัดผลลัพธ์ให้เหลือเพียง 5 อันดับแรก และอย่าลืมใช้.values()กับผลลัพธ์ของ degree centrality ด้วย - สร้างรายการโหนดที่มีค่า degree centrality รวมสูงสุด 5 อันดับแรก โดย:
- วนซ้ำผ่าน dictionary ของค่า degree centrality โดยใช้เมธอด
.items()บนnx.degree_centrality(G) - ถ้า
dcอยู่ในtop_dcsให้เพิ่มโหนดnเข้าไปในรายการtop_connected
- วนซ้ำผ่าน dictionary ของค่า degree centrality โดยใช้เมธอด
- แสดงจำนวนโหนดที่มีค่า degree centrality ติด 5 อันดับแรก (
top_connected) โดยใช้len()
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Get the top 5 unique degree centrality scores: top_dcs
top_dcs = ____(set(____), reverse=True)[____:____]
# Create list of nodes that have the top 5 highest overall degree centralities
top_connected = []
for n, dc in ____:
if ____ in ____:
____
# Print the number of nodes that share the top 5 degree centrality scores
print(____)