Bắt đầu ngayBắt đầu miễn phí

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

Xem khóa học

Hướng dẫn bài tập

  • Tạo một đồ thị vô hướng tên net dựa trên transfers. Đặt directed thành giá trị boolean phù hợp (TRUE hoặc FALSE).
  • Chỉ định màu cho từng nút: đặt V(net)$color"darkorange" nếu account_info$isMoneyMule == TRUE, ngược lại là "slateblue1".
  • Dùng subgraph() trên net để tạo một đồ thị con tên subnet chứa các đỉnh "I41","I47", "I87""I20".
  • Dùng hàm strength() trên subnet trên net để 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")
Chỉnh sửa và Chạy Mã