ComeçarComece de graça

Classificador de vizinhos relacionais

Um modelo relacional parte da ideia de que o comportamento entre nós é correlacionado, ou seja, nós conectados tendem a pertencer à mesma classe. O classificador de vizinhos relacionais, em particular, prevê a classe de um nó com base em seus nós vizinhos e arestas adjacentes.

O conjunto transfers reúne transações de diferentes contas. Os dados account_info indicam quais dessas contas são laranjas (money mules). No entanto, não se sabe se a conta "I41" é uma laranja. Preveja a propensão de a conta "I41" ser uma laranja usando um classificador de vizinhos relacionais.

Este exercício faz parte do curso

Detecção de Fraudes em R

Ver curso

Instruções do exercício

  • Crie um grafo não direcionado chamado net a partir de transfers. Defina directed com o booleano apropriado (TRUE ou FALSE).
  • Especifique uma cor para cada nó: defina V(net)$color como "darkorange" se account_info$isMoneyMule == TRUE e "slateblue1" caso contrário.
  • Use subgraph() em net para criar um subgrafo chamado subset contendo os vértices "I41","I47", "I87" e "I20".
  • Use a função strength() em subnet E em net para calcular a probabilidade de o nó "I41" ser laranja como a fração de vizinhos que são laranjas

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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")
Editar e executar o código