首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对NetLogo海龟进行基于密度的聚类评估?

如何对NetLogo海龟进行基于密度的聚类评估?
EN

Stack Overflow用户
提问于 2017-10-19 15:43:46
回答 1查看 159关注 0票数 1

我在net徽标6.0.1中有以下代码,使用dbscan (基于密度的集群)扩展来测量集群效果和世界界面上海龟之间的集群分布属性。

代码语言:javascript
复制
extensions [ dbscan ]

to setup
  clear-all
  ask patches [ set pcolor white ]
  create-turtles 1000 [
    set color black
    set label-color blue
    setxy random-xcor random-ycor
  ]
  ask n-of 5 turtles [
    ask turtles in-radius 3 [
      set color one-of [red grey]
    ]
  ]
end

to-report radial-extent [ cluster ]
  report max map [
    a -> max map [
      b -> [
        distance a ] of b
    ]
    cluster
  ]
  cluster
end

to find-clusters
  let red-grey-turtles turtles with [ member? color [red grey] ]
  let clusters dbscan:cluster-by-location red-grey-turtles 3 3
  (foreach clusters range length clusters [ [c i] ->
    foreach c [
      t -> ask t [
        set label i
      ]
    ]
  ])
  let num-clust length clusters
  let max-clust-count max map length clusters
  let mean-clust-count mean map length clusters
  let var-clust-count variance map length clusters
  let stdev-clust-count standard-deviation map length clusters
  let max-clust-size mean map radial-extent clusters
  let mean-clust-size mean map radial-extent clusters
  let var-clust-size variance map radial-extent clusters
  let stdev-clust-size standard-deviation radial-extent clusters
end

但是,当我运行代码时,我一直会得到以下错误:

OF expected input to be an agent or agentset but got the list [(turtle 3) (turtle 19) (turtle 93) (turtle 186) (turtle 239) (turtle 243) (turtle 322) (turtle 326) (turtle 528) (turtle 587) (turtle 610) (turtle 712) (turtle 719) (turtle 736) (turtle 754) (turtle 799) (turtle 873) (turtle 874) (turtle 887) (turtle 889) (turtle 963) (turtle 18) (turtle 140) (turtle 156) (turtle 530) (turtle 557) (turtle 605) (turtle 687) (turtle 693) (turtle 919) (turtle 979) (turtle 252) (turtle 506) (turtle 978) (turtle 989) (turtle 14) (turtle 534) (turtle 586) (turtle 658) (turtle 133) (turtle 606) (turtle 702) (turtle 995) (turtle 597) (turtle 949) (turtle 160) (turtle 244) (turtle 703) (turtle 742) (turtle 902)] instead.

显然,径向范围函数是将海龟集群视为列表而不是代理集,这是因为使用of算子来确定簇半径。

有什么办法解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-19 21:37:41

好消息:你的记者没事..。

..。只要改正最后一行

代码语言:javascript
复制
 let stdev-clust-size standard-deviation radial-extent clusters

通过map clusters采访记者

代码语言:javascript
复制
 let stdev-clust-size standard-deviation map radial-extent clusters
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46833830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档