开始使用免费开始使用

关系邻居分类器

关系模型基于一个观点:节点之间的行为是相关的,也就是说,连接的节点往往属于同一类别。尤其是关系邻居分类器,会根据某个节点的相邻节点及相连边来预测该节点的类别。

数据集 transfers 包含来自不同账户的交易记录。数据 account_info 指明哪些账户是"钱骡"。不过,账户 "I41" 是否为钱骡未知。请使用关系邻居分类器,预测账户 "I41" 成为钱骡的倾向概率。

本练习是课程的一部分

R 中的欺诈检测

查看课程

练习说明

  • 基于 transfers 创建一个名为 net 的"无向"图。将 directed 设置为合适的布尔值(TRUEFALSE)。
  • 为每个节点指定颜色:若 account_info$isMoneyMule == TRUE 则将 V(net)$color 设为 "darkorange",否则设为 "slateblue1"
  • net 上使用 subgraph() 创建一个名为 subset 的子图,包含顶点 "I41""I47""I87""I20"
  • subnetnet 上使用函数 strength(),将节点 "I41" 的钱骡概率计算为其钱骡邻居所占比例。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# 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")
编辑并运行代码