Začněte nyníZačněte zdarma

Klasifikátor relačních sousedů

Relační model vychází z myšlenky, že chování uzlů je vzájemně korelované – propojené uzly mají tendenci patřit do stejné třídy. Klasifikátor relačních sousedů konkrétně předpovídá třídu uzlu na základě jeho sousedních uzlů a přilehlých hran.

Dataset transfers obsahuje transakce z různých účtů. Data account_info říkají, které z těchto účtů jsou peněžní muly. U účtu "I41" však není jasné, zda peněžní mulou je. Pomocí klasifikátoru relačních sousedů předpověz pravděpodobnost, že účet "I41" je peněžní mula.

Toto cvičení je součástí kurzu

Detekce podvodů v R

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř neorientovaný graf s názvem net na základě datasetu transfers. Nastav directed na odpovídající boolean (TRUE nebo FALSE).
  • Přiřaď každému uzlu barvu: nastav V(net)$color na "darkorange", pokud account_info$isMoneyMule == TRUE, a na "slateblue1" v ostatních případech.
  • Použij funkci subgraph() na net a vytvoř podgraf s názvem subset obsahující vrcholy "I41", "I47", "I87" a "I20".
  • Pomocí funkce strength() aplikované na subnet a na net vypočítej pravděpodobnost, že uzel "I41" je peněžní mula, jako podíl sousedů, kteří jsou muly

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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")
Upravit a spustit kód