เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ค้นหาโหนดที่มี 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
  • แสดงจำนวนโหนดที่มีค่า 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(____)
แก้ไขและรันโค้ด