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

Relational neighbor classifier

โมเดลเชิงสัมพันธ์ตั้งอยู่บนแนวคิดที่ว่าพฤติกรรมระหว่างโหนดมีความสัมพันธ์กัน กล่าวคือ โหนดที่เชื่อมต่อกันมีแนวโน้มที่จะอยู่ในกลุ่มเดียวกัน โดยเฉพาะ relational neighbor classifier จะทำนายกลุ่มของโหนดจากโหนดเพื่อนบ้านและเส้นเชื่อมที่อยู่ติดกัน

ชุดข้อมูล transfers ประกอบด้วยธุรกรรมจากบัญชีต่าง ๆ ส่วนข้อมูล account_info ระบุว่าบัญชีใดเป็น money mule อย่างไรก็ตาม ยังไม่ทราบว่าบัญชี "I41" เป็น money mule หรือไม่ ให้ทำนายความน่าจะเป็นที่บัญชี "I41" จะเป็น money mule โดยใช้ relational neighbor classifier

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

การตรวจจับการฉ้อโกงใน R

ดูคอร์ส

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

  • สร้างกราฟแบบ ไม่มีทิศทาง ชื่อ net จากข้อมูล transfers โดยตั้งค่า directed ให้เป็นค่าบูลีนที่เหมาะสม (TRUE หรือ FALSE)
  • กำหนดสีให้แต่ละโหนด: ตั้งค่า V(net)$color เป็น "darkorange" ถ้า account_info$isMoneyMule == TRUE และ "slateblue1" ในกรณีอื่น
  • ใช้ subgraph() กับ net เพื่อสร้าง subgraph ชื่อ subset ที่ประกอบด้วย vertices "I41", "I47", "I87" และ "I20"
  • ใช้ฟังก์ชัน strength() กับ subnet และ กับ net เพื่อคำนวณความน่าจะเป็นที่โหนด "I41" จะเป็น money mule ในรูปของสัดส่วนเพื่อนบ้านที่เป็น mule

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

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

# From data frame to graph
net <- graph_from_data_frame(___, directed = ___)

# Plot the network; color nodes according to isMoneyMule-variable
___(___)$color <- ifelse(___$___ == TRUE, ___, ___)
plot(net, vertex.label.color = "black", vertex.label.font = 2, vertex.size = 18)

# The id's of the money mule accounts:
print(account_info$id[account_info$isMoneyMule == TRUE])

# Create subgraph containing node "I41" and all money mules nodes "I47", "I87", "I20":
subnet <- ___(___, v = c(___))

# Compute the money mule probability of node "I41" based on the neighbors
___(___, v = "I41") / ___(___, v = "I41")
แก้ไขและรันโค้ด