python数据挖掘代码_从“编程集体智能”到计算交叉线的Python数据挖掘代码的问题...

好吧,我读过这本书,我搜索了一下我的测试代码,我发现它对我来说是如何工作的,图分数函数如下:def graphscore(v, proxlimit = 50):

loc = dict([(people[i], (v[i*2], v[i*2+1])) for i in range(0, len(people))])

total = 0.0

#penalize crosscount

for i in range(len(links)):

for j in range(i+1, len(links)):

(x1, y1), (x2, y2) = loc[links[i][0]], loc[links[i][1]]

(x3, y3), (x4, y4) = loc[links[j][0]], loc[links[j][1]]

den = (y4-y3)*(x2-x1)-(x4-x3)*(y2-y1)

if den==0: continue #lines parallel

ua = ((x4-x3)*(y1-y3)-(y4-y3)*(x1-x3))/float(den)

ub = ((x2-x1)*(y1-y3)-(y2-y1)*(x1-x3))/float(den)

if ua > 0 and ua < 1 and ub > 0 and ub < 1:

total += 1.0

#penalize tightened nodes

for i in range(len(people)):

for j in range(i+1, len(people)):

(x1, y1), (x2, y2) = loc[people[i]], loc[people[j]]

dist = math.sqrt(math.pow(x1-x2, 2) + math.pow(y1-y2, 2))

if dist < proxlimit:

total += (1.0-(dist/proxlimit))

return total

在文件开头声明以下全局参数(当然):

^{pr2}$

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值