添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

本次推送用到的数据是 上海市共享单车数据 (公众号内资料下载的资料一期),用到的字段主要有:orderid、start_location_x、start_location_y、end_location_x、end_location_y。

1 获取Networkx需要的结构

先把共享单车数据处理成(源节点,目标节点,权重)的格式,其他格式也可以构造复杂网络,这里是为了对应共享单车的数据结构(O——>D)。

import 
SOD =shape_data
G = nx.from_pandas_edgelist(SOD, 'ID', 'ID2', 'D', create_using=nx.DiGraph())#构造Grahp
pos = nx.spring_layout(G)# 
pylab.figure(1)
nx.draw(G, pos, with_labels=False, node_size=100, node_color="skyblue", node_shape="o", alpha=0.5,width=0.5)

Networkx输出的图是这样的:

Networkx可视化的能力相较于Gephi还是逊色了一点,下面用Gephi做可视化和一些指标分析。Networkx可以直接导出Gephi文件的格式。

nx.write_gexf(G,'1009-Networkx.gexf')

2. Gephi可视化

首先是Gephi的安装,链接https://gephi.org/,下载后安装即可,如果能够正常打开 Gephi,跳过下面提示。 提示:如果安装完后出现“cannot find java 1.6 or higer”,解决方法如下,点击链接http://www.itmop.com/soft/downinfo/7809.html,下载安装,安装jdk之后便可正常打开 Gephi。

  • 导入数据 :本次推送选择的是导入边表格,为了避免编码错误,参考https://blog.csdn.net/SunCherryDream/article/details/60973092进行csv设置,尝试将csv格式文件利用记事本另存的方式,将编码改为ANSI格式。Gephi输入表格时,将编码改为GB2312,结果,可以正常显示

算法流程:

1、初始时将每个顶点当作一个社区,社区个数与顶点个数相同。

2、依次将每个顶点与之相邻顶点合并在一起,计算它们的模块度增益是否大于0,如果大于0,就将该结点放入该相邻结点所在社区。

3、迭代第二步,直至算法稳定,即所有顶点所属社区不再变化。

4、将各个社区所有节点压缩成为一个结点,社区内点的权重转化为新结点环的权重,社区间权重转化为新结点边的权重。

5、重复步骤1-3,直至算法稳定。

Networkx实现:安装“python-louvain”

pip install python-louvain

from community import community_louvain
G2 = nx.from_pandas_edgelist(SOD, 'ID', 'ID2', 'D')
partition =community_louvain.best_partition(G2)
size = float(len(set(partition.values())))
pos = nx.spring_layout(G)
count = 0.
for com in set(partition.values()) :
    count = count + 1.
    list_nodes = [nodes for nodes in partition.keys()
                                if partition[nodes] == com]
    nx.draw_networkx_nodes(G, pos, list_nodes, node_size = 20,
                                node_color = str(count / size))
nx.draw_networkx_edges(G,pos, alpha=0.5)
plt.show()

最后得到的是下面的结果,需要针对这个结果进一步分析,可以放到Gephi中进行更清楚的可视化,然后结合OD的经纬度,分析各社区的实际含义。

参考文献:

https://xbuba.com/questions/53087066

https://blog.csdn.net/qq_35318838/article/details/79820923

https://blog.csdn.net/SunCherryDream/article/details/60973092

https://www.pianshen.com/article/7704898577/

https://www.cnblogs.com/fengfenggirl/p/louvain.html

链接:https://pan.baidu.com/s/11onBKSlm-BV_kbEwf1D8Dw

提取码:3mu2

我们是一个有 灵魂 的团队,坚持探索,致力于分享交流学习经验。

想获取更多交通建模,论文写作,开源资料等科研信息的小伙伴就请关注

微信公众号【交通科研Lab】 (所有信息均在公众号第一时间发布)

小伙伴们!之前的推送简单介绍了Networkx的功能,本次推送继续使用Networkx进行数据的分析,主题是共享单车模式分析和社区发现,思路主要来自以下两篇论文(论文见文末百度云链接~):下图是论文1中的配图,本次推送一部分的内容就是复现这个图!另一部分内容是复现论文2中的社区发现。图的复现用到的软件主要是Gephi,社区发现算法用到的是Networkx。本次推送用到的数据是上海市共享单车数据(公...
最近在搞有关社会 网络 分析的毕设,于是整理了几个常用的数据集,方便大家下载使用_(:з」∠)_~ 这是查找数据集的网站,由于我只用了简单的几个,所以如果没找到童靴需要的可以点击这个网站。 空手道俱乐部数据集
之前使用爬虫获取到了微博上粉丝数大于2000的用户,大概在10W左右,并获取了他们的关注用户列表。现在,需要利用这些节点和节点间的 关系 网来进行 社区 探测(community detection),以进行进一步分析。不过在此之前,需要攫取一些小样本进行简单的可视化。 使用 networkx (python)导出gexf格式文件这边使用 gephi 来进行分析。而使用 gephi 需要有gexf或者 gephi 格式的数
先有评论文本5000条,由两部分组成,前面是评论,后面是分数,1表示好评(后文用5分表示),0表示差评(后文用1分表示) 一直在使用联想电脑,非常相信联想,本品绝对是正品,与描述的完全一致 1 这款电脑很不错的呢运行起来很快 玩游戏也不卡 性价比还是可以的 1 就冲这价格波动及满赠活动最多一星,吗的恶心死我了 0 异响,屏幕漏光,动不动蓝屏,acer的技术支持太差了,难道没有测试的吗?这些都是很明显的问题, 0 买了一天就降价200,还说什么30天保价?京东还可信么? 0 加载停词表,对1分和
gephi 是一个社会 网络 分析可视化的软件,其大部分代码是用java实现的。而我在学习的时候,是用python构 ,在这里,我可以推荐两种python画 包, networkx 和igraph。前期的学习,我是学习 networkx ,但其缺乏较好的画 布局算法。后来,在队友的推荐下,我学会使用igraph画 ,这个是我画的其中一个 : 至于如何做到这样的效果呢,步骤如下:1.导入数据: 一、 Gephi 简介 Gephi 是一款 网络 分析领域的数据可视化处理软件,开发者对它寄予的希望是成为“数据可视化领域的 Photoshop”,可运行在 Windows、Linux 及 Mac OS 系统上。 Gephi 主要有以下三大特性: 由内置的快速的 OpenGL 引擎提供支持, Gephi 能够利用非常大的 网络 推送信封,可视化 网络 多大一百万个元素,所有元素都会实时运行,如布局、过滤器; 简单易于安装和使用,以可视化为中心的 UI,类似 Photoshop 的 形处理
这个案例的Jupyter notebook:点击这里. 对于 共享 单车 的出行,每一次出行都可以被看作是一个从起点行动到终点的出行过程。当我们把起点和终点视为节点,把它们之间的出行视为边时,就可以构建一个 网络 。通过分析这个 网络 ,我们可以得到关于城市的空间结构、 共享 单车 需求的宏观出行特征等信息。 社区 发现 ,也可以叫 分割,帮助我们揭示 网络 中节点之间的隐藏 关系 。在这个例子中,我们将介绍如何将TransBigData整合到 共享 单车 数据的 社区 发现 分析过程中。 import pandas as pd impor.