Netflix 等流媒體平臺(tái)如何推薦適合您晚上觀看的完美電影昼蛀?我們?nèi)绾蝺?yōu)化足球等運(yùn)動(dòng)中的球員位置扫沼?我們?nèi)绾巫R(shí)別金融網(wǎng)絡(luò)中的欺詐活動(dòng)?我們?nèi)绾晤A(yù)測(cè) Tinder 等約會(huì)應(yīng)用程序中的匹配情況日裙?
所有這些挑戰(zhàn)都有相同的解決方案:社交網(wǎng)絡(luò)分析逛腿。
社交網(wǎng)絡(luò)分析 (SNA) 是一個(gè)強(qiáng)大的數(shù)據(jù)科學(xué)領(lǐng)域,可以探索實(shí)體網(wǎng)絡(luò)內(nèi)復(fù)雜的關(guān)系蝴蜓,發(fā)現(xiàn)隱藏的模式并捕獲見解碟绑。網(wǎng)絡(luò)實(shí)體可以是一切:它們可以是 Instagram 等社交網(wǎng)絡(luò)上的人、互聯(lián)網(wǎng)上的網(wǎng)站励翼,甚至是錦標(biāo)賽網(wǎng)絡(luò)中的運(yùn)動(dòng)隊(duì)蜈敢。
在下面的部分中,我將幫助您了解什么是數(shù)據(jù)科學(xué)中的網(wǎng)絡(luò)汽抚,我將描述最常見的類型抓狭,并且我將實(shí)現(xiàn)幾種算法以從網(wǎng)絡(luò)中提取有價(jià)值的信息。
所有理論部分都將與實(shí)際例子相結(jié)合造烁。您將找到幾個(gè)Python 代碼片段來熟悉NetworkX Python 庫(kù)否过。
了解網(wǎng)絡(luò)
網(wǎng)絡(luò),也稱為圖惭蟋,是信息的特殊表示苗桂,由兩個(gè)基本組件組成:節(jié)點(diǎn)和邊。
節(jié)點(diǎn)是網(wǎng)絡(luò)的構(gòu)建塊告组。它們代表網(wǎng)絡(luò)內(nèi)的各個(gè)實(shí)體煤伟。它們可以模仿各種各樣的事物,例如社交網(wǎng)絡(luò)中的人木缝,以及生物網(wǎng)絡(luò)中的基因便锨。
相反,邊表示節(jié)點(diǎn)之間的關(guān)系我碟。它們可以定義兩個(gè)人之間的交互放案、關(guān)聯(lián)或依賴關(guān)系。邊可以是有向的矫俺,這意味著它們表示的關(guān)系從一個(gè)節(jié)點(diǎn)到另一個(gè)節(jié)點(diǎn)吱殉。想象一下代表一個(gè)人向另一個(gè)人支付的有向邊掸冤,了解貨幣兌換的方向確實(shí)是有益的。這種不對(duì)稱性用箭頭表示友雳。
在NetworkX中稿湿,節(jié)點(diǎn)和邊很容易表示如下:
import networkx as nx
# Create an instance of a graph
G = nx.Graph()
# Create an edge between two nodes. The nodes will be also created.
G.add_edge('A', 'B', weight=6)
上面的“Hello world”代碼的結(jié)果是這個(gè)小而幼稚的網(wǎng)絡(luò):