Klasifikator tetangga relasional
Model relasional didasarkan pada gagasan bahwa perilaku antarnode saling berkorelasi, artinya node yang terhubung cenderung berada dalam kelas yang sama. Secara khusus, klasifikator tetangga relasional memprediksi kelas suatu node berdasarkan node tetangganya dan sisi yang bersebelahan.
Himpunan data transfers berisi transaksi dari berbagai akun. Data account_info memuat informasi akun mana yang merupakan money mule. Namun, status akun "I41" sebagai money mule tidak diketahui. Prediksikan kecenderungan akun "I41" menjadi money mule menggunakan klasifikator tetangga relasional.
Latihan ini adalah bagian dari kursus
Deteksi Fraud di R
Petunjuk latihan
- Buat grafik yang tidak berarah bernama
netberdasarkantransfers. Aturdirectedke boolean yang sesuai (TRUEatauFALSE). - Tentukan warna untuk setiap node: setel
V(net)$colorke"darkorange"jikaaccount_info$isMoneyMule == TRUEdan"slateblue1"jika tidak. - Gunakan
subgraph()padanetuntuk membuat subgraf bernamasubsetyang berisi verteks"I41","I47","I87"dan"I20". - Gunakan fungsi
strength()padasubnetdan padanetuntuk menghitung probabilitas money mule dari node"I41"sebagai fraksi tetangga mule
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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")