EmpezarEmpieza gratis

Clasificador de vecinos relacionales

Un modelo relacional parte de la idea de que el comportamiento entre nodos está correlacionado; es decir, los nodos conectados tienden a pertenecer a la misma clase. En concreto, el clasificador de vecinos relacionales predice la clase de un nodo a partir de sus nodos vecinos y los arcos adyacentes.

El conjunto de datos transfers contiene transacciones de distintas cuentas. Los datos account_info indican cuáles de estas cuentas son mulas de dinero. Sin embargo, se desconoce si la cuenta "I41" es una mula de dinero. Predice la propensión a ser mula de dinero de la cuenta "I41" usando un clasificador de vecinos relacionales.

Este ejercicio forma parte del curso

Detección de fraude en R

Ver curso

Instrucciones del ejercicio

  • Crea un grafo no dirigido llamado net a partir de transfers. Establece directed con el booleano correspondiente (TRUE o FALSE).
  • Especifica un color para cada nodo: asigna V(net)$color a "darkorange" si account_info$isMoneyMule == TRUE y a "slateblue1" en caso contrario.
  • Usa subgraph() sobre net para crear un subgrafo llamado subset que contenga los vértices "I41","I47", "I87" y "I20".
  • Usa la función strength() en subnet y en net para calcular la probabilidad de que el nodo "I41" sea mula de dinero como la fracción de vecinos mula

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# 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 y ejecutar código