日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python子图之间的距离_python与图论的桥梁——igraph

發布時間:2025/3/15 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python子图之间的距离_python与图论的桥梁——igraph 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

之前收集到一個關于紐約市全年出租車的數據集,于是想到,我們是不是可以用這個數據集來研究一下紐約市中各個社區之間的關聯度?為了研究這個問題,就需要使用python來建立一些圖論模型。

igraph是python/R等語言中常用的建立圖模型的模塊。接下來首先對igraph模塊做一個簡要介紹,然后對紐約市的出租車數據進行建模。

一、igraph

首先我們導入所需的包

import pandas as pd import numpy as np import matplotlib.pyplot as plt from igraph import * import datetime

創建圖:

g = Graph()

print一下:

print(g) #輸出結果如下 #IGRAPH U--- 0 0 --

添加頂點:

g.add_vertices(3) print(g) #輸出結果如下 #IGRAPH U--- 3 0 --

添加邊:

g.add_edges([(0,1), (1,2)])IGRAPH U--- 3 2 -- + edges: 0--1 1--2

如果我們想要刪去某兩個節點間的邊:

g.get_eid(2,1)#獲取邊的序號 #1 g.delete_edges(1)#刪除邊 print(g) """ IGRAPH U--- 3 1 -- + edges: 0--1 """

我們還可以給邊定義一些屬性

如:

g.vs["name"] = ["Alice"] g.vs["age"] = [25] g.vs["gender"] = ["f"] g.es["is_formal"] = [False]

此時的圖如下:

""" IGRAPH UN-- 3 1 -- + attr: age (v), gender (v), name (v), is_formal (e) + edges (vertex names): Alice--Alice """

二、Community Detection(社區發現)

1.什么是community(社區)

community是一個圖中的一個子圖,它包含比圖的其余部分或更緊密地彼此緊密鏈接的節點,如果子圖內部的邊數大于這些子圖之間的邊數,則圖具有community結構。

例如:

community structure

以及:

community structure

2.什么是modularity(模塊度)

Newman 在2003年的論文 “Finding and evaluating community structure in networks” 中首次提出了modularity的定義,它被用來度量自己的社團檢測算法的好壞。

Consider a particular division of a network into k communities. Let us define a k×k symmetric matrix e whose element is the fraction of all edges in the network that link vertices in community i to vertices in community j [49].

假設社團劃分把一個網絡劃分為

個社團,定義一個 的矩陣 , 表示連接社團 和社團 的邊的數目占總邊數的比例。

特別的,

表示的是社團 和社團 之間的邊占總邊數的比例,也就是社團 內部的邊占總邊數的比例。

以下便是模塊度的計算公式:

如果用

表示社團 內部的邊數,則 。然后把 代入,就可以得到計算modularity最常用的公式

3.multilevel community detection algorithm

為了快速進行社區發現,我們需要一些求解該問題的算法。這其中,時間復雜度最低的便是Blondel發明的multilevel算法。

該算法有兩個主要步驟:

步驟一:

不斷地遍歷網絡圖中的節點,通過比較節點給每個鄰居社區帶來的模塊度的變化,將單個節點加入到能夠使modulaity模塊度有最大增量的社區中。
(比如節點

分別加入到社區 、 、 中,使得三個社區的模塊度增量為 , 則節點 最終應該加入到社區 中)


步驟二:

對第一階段進行處理,將屬于同一社區的頂點合并為一個大的超點重新構造網絡圖,即一個社區作為圖的一個新的節點。此時兩個超點之間邊的權重是兩個超點內所有原始頂點之間相連的邊權重之和,即兩個社區之間的邊權重之和。

重復以上步驟,直至不能改變網絡圖為止。

三、實例

通過紐約的出租車數據進行紐約市的社區發現。

首先讀取數據

intersections=pd.read_csv("intersections.csv",header=None) intersection_to_zone=pd.read_csv("intersection_to_zone.csv") taxi_id=pd.read_csv("taxi_id.csv",header=None)

觀察數據

taxi_id.tail(5)

每一趟出租車的數據intersection_to_zone.tail(5)

每個intersection屬于的communityintersections.head(5)

intersection的經緯信息

建立圖模型,并遍歷taxi數據,探究早晨7-9點的紐約哪些社區的關系較為緊密

g1=Graph() g1.add_vertices(63) for index, row in taxi_id.iterrows():beginTime = datetime.datetime.fromtimestamp(row["1"])endTime = datetime.datetime.fromtimestamp(row["2"])start_place=row["3"]end_place=row["4"]print(beginTime)try:start_zone=dic[start_place]end_zone=dic[end_place]except KeyError:continueif (beginTime.hour==7 or beginTime.hour==8) and (endTime.hour==7 or endTime.hour==8):#print(start_zone,end_zone)g1.add_edges([(to_vid[start_zone],to_vid[end_zone])])

使用Blondel的算法進行社區發現

result1=g1.community_multilevel()

觀察結果

print(result1)Clustering with 63 elements and 3 clusters [0] 0, 1, 2, 7, 13, 14, 15, 18, 19, 20, 23, 26, 31, 32, 35, 41, 42, 43, 44,45, 48, 49, 50, 51, 59, 60 [1] 8, 9, 10, 16, 17, 36, 37, 38, 39, 47, 58 [2] 3, 4, 5, 6, 11, 12, 21, 22, 24, 25, 27, 28, 29, 30, 33, 34, 40, 46, 52,53, 54, 55, 56, 57, 61, 62

可以看到,該算法將紐約劃分為了三個主要部分。

同時,結合紐約的地理信息

可見紐約的五個區分布在三塊分離的島嶼上,而出租車數據的分析結果也與這一點吻合的很好。

看完文章別忘了送上點贊~

歡迎關注我的個人公眾號-leo的學習之旅

公眾號內會分享個人整理/學習的數據科學/深度學習知識~

總結

以上是生活随笔為你收集整理的python子图之间的距离_python与图论的桥梁——igraph的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩人妻精品在线 | 午夜精品久久久久久久91蜜桃 | 男女野外做受全过程 | 欧美国产专区 | 国产成人在线一区 | 午夜色福利 | 日韩精品视频三区 | 久久人人插| 国产精品ⅴa有声小说 | 少妇裸体淫交视频免费看高清 | 日韩 欧美 亚洲 国产 | 麻豆视频免费版 | 超碰av在线免费观看 | 多啪啪免费视频 | av久热| 日本精品免费在线观看 | 四虎永久网址 | 天堂最新资源在线 | 在线免费视频 | 涩av| 午夜久久久久久 | 五月婷视频 | 少妇高潮久久久久久潘金莲 | 综合视频 | 伊人影院视频 | 久久五月婷 | 国产午夜精品一区二区三区视频 | 91超碰在线播放 | 欧美怡红院视频一区二区三区 | 97国产一区 | 麻豆网站在线观看 | av免费播放网站 | 国产一级片免费观看 | 天干夜天干天天天爽视频 | 亚洲欧美精品久久 | 国产另类自拍 | 国产精品无码免费在线观看 | 国产片淫乱18一级毛片动态图 | 亚洲免费三级 | av一片 | 中国女人裸体乱淫 | 青青草在线观看视频 | 手机看片国产日韩 | 91午夜精品亚洲一区二区三区 | 岛国av免费| av小片 | 91香蕉一区二区三区在线观看 | 国产成人综合在线视频 | 精品国产一区二区三区性色 | 在线免费观看a级片 | 亚洲AV无码成人精品区东京热 | 欧美日韩一区二区三区在线电影 | 国产传媒中文字幕 | 国产特黄级aaaaa片免 | 色偷偷欧美 | 欧美性猛交xxxx偷拍洗澡 | 妞干网精品 | 日韩城人视频 | 在线成人小视频 | ass东方小嫩模pics | 日韩三级小视频 | 日韩在线观看中文字幕 | 少妇高潮惨叫久久久久 | 中文字幕在线日韩 | 中文在线а√天堂官网 | 久热最新视频 | 超碰在线人 | 蜜桃av导航 | 日本无翼乌邪恶大全彩h | 日本不卡视频一区二区 | 西西人体做爰大胆gogo直播 | 亚洲一区二区三区视频在线 | 波多野结衣喷潮 | 久草香蕉在线 | 免费在线观看网址入口 | 精品伦一区二区三区 | 又黄又爽视频在线观看 | 午夜性刺激免费视频 | 6080黄色 | 亚洲精品一卡二卡 | 91九色视频 | 国产内射一区二区 | 激情福利在线 | yjizz国产| 国产精品麻豆成人av电影艾秋 | 影音先锋色小姐 | 成人欧美一区二区三区黑人一 | 五月婷婷在线观看 | 人妻少妇精品中文字幕av蜜桃 | 黄色片xxx| 日韩一级二级 | h片在线观看视频 | 黑人巨大精品欧美一区二区免费 | 日韩av成人在线 | 日本精品人妻无码免费大全 | 国产9区 | 精品国产青草久久久久96 | 精品人伦一区二区三区蜜桃免费 | 日韩在线视频一区二区三区 |