python局部随机游走LRW

最近在做链路预测,参考了一些资料写了一个局部随机游走,游走步数为节点总数的100倍。初学者,程序写的很烂,有待提高。。。
def LRW(vnow,vtar):#源节点,目标节点
    d = {}
    d[vnow] = 1            
    for step in range(steps):#随机游走步数为节点的100倍
        neighbors = G.neighbors(vnow)#获取某个节点的邻居,networkx创建的图
        vnow = neighbors[random.randint(0,len(neighbors)-1)]#随机选择邻居节点
        if d.has_key(vnow):#用字典记录每个节点到达的次数
            d[vnow] += 1
        else :
            d[vnow] = 0
            d[vnow] += 1
    value = d[vtar]/float(steps)#每个节点统计的步数除以总步数,等于到达概率
    return value


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值