Bộ phân loại láng giềng quan hệ
Mô hình quan hệ dựa trên ý tưởng rằng hành vi giữa các nút có tương quan, nghĩa là các nút được nối với nhau có xu hướng thuộc cùng một lớp. Đặc biệt, bộ phân loại láng giềng quan hệ dự đoán lớp của một nút dựa trên các nút láng giềng và các cạnh kề của nó.
Tập dữ liệu transfers gồm các giao dịch từ nhiều tài khoản khác nhau. Dữ liệu account_info cho biết tài khoản nào trong số này là "money mule". Tuy nhiên, chưa biết tài khoản "I41" có phải là money mule hay không. Hãy dự đoán xác suất tài khoản "I41" là money mule bằng bộ phân loại láng giềng quan hệ.
Bài tập này là một phần của khóa học
Phát hiện gian lận với R
Hướng dẫn bài tập
- Tạo một đồ thị vô hướng tên
netdựa trêntransfers. Đặtdirectedthành giá trị boolean phù hợp (TRUEhoặcFALSE). - Chỉ định màu cho từng nút: đặt
V(net)$colorlà"darkorange"nếuaccount_info$isMoneyMule == TRUE, ngược lại là"slateblue1". - Dùng
subgraph()trênnetđể tạo một đồ thị con tênsubnetchứa các đỉnh"I41","I47","I87"và"I20". - Dùng hàm
strength()trênsubnetvà trênnetđể tính xác suất là money mule của nút"I41"dưới dạng tỉ lệ láng giềng là mule
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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")