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

Subgraphs II

ในแบบฝึกหัดก่อนหน้า เราให้รายการโหนดที่ต้องการดึงโหนดเพื่อนบ้านมาให้แล้ว

มาลองทำแบบฝึกหัดอีกข้อ ซึ่งคราวนี้จะให้ดึงโหนดที่มี metadata ตามเงื่อนไขที่กำหนดพร้อมกับโหนดเพื่อนบ้านของโหนดเหล่านั้น แบบฝึกหัดนี้จะเชื่อมโยงกับสิ่งที่เรียนรู้เกี่ยวกับการใช้ list comprehension เพื่อค้นหาโหนด และยังช่วยฝึกทักษะการนำฟังก์ชันที่เคยเขียนไว้มาประกอบใช้งานร่วมกันด้วย

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การวิเคราะห์เครือข่ายเบื้องต้นด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ใช้ list comprehension ดึงโหนดที่มี metadata 'occupation' เท่ากับ 'celebrity' พร้อมกับโหนดเพื่อนบ้านของโหนดเหล่านั้น:
    • output expression ของ list comprehension คือ n และมี iterator variable สองตัว ได้แก่ n และ d โดย iterable คือรายการโหนดของ T (รวม metadata ซึ่งระบุได้ด้วย data=True) และเงื่อนไขคือ key 'occupation' ใน dictionary metadata d มีค่าเท่ากับ 'celebrity'
  • นำโหนดเหล่านั้นมาสร้างเป็น subgraph ใหม่ชื่อ T_sub โดย:
    • วนซ้ำผ่านโหนดแต่ละโหนด คำนวณโหนดเพื่อนบ้าน แล้วเพิ่มเข้าไปในเซต nodeset ด้วยเมธอด .union() (ส่วนนี้ได้เตรียมโค้ดไว้ให้แล้ว)
    • ใช้ nodeset ร่วมกับเมธอด T.subgraph() เพื่อคำนวณ T_sub
  • วาด T_sub บนหน้าจอ

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Extract the nodes of interest: nodes
nodes = [n for n, d in ____ if ____ == ____]

# Create the set of nodes: nodeset
nodeset = set(nodes)

# Iterate over nodes
for n in ____:

    # Compute the neighbors of n: nbrs
    nbrs = ____

    # Compute the union of nodeset and nbrs: nodeset
    nodeset = nodeset.union(nbrs)

# Compute the subgraph using nodeset: T_sub
T_sub = ____

# Draw T_sub to the screen
____
plt.show()
แก้ไขและรันโค้ด