Treoir maidir le Prediction Link - Conas Do Naisc Amach Anseo a Thuar ar Facebook

Forbhreathnú

  • Réamhrá chun tuar a nascadh, conas a oibríonn sé, agus cá háit ar féidir leat é a úsáid sa saol réadúil
  • Faigh amach faoi thábhacht Link Prediction ar na meáin shóisialta
  • Tóg do chéad mhúnla Prediction Link le haghaidh cás úsáide Facebook ag úsáid Python

Réamhrá

Ar smaoinigh tú riamh cé a d’fhéadfadh a bheith i do chéad nasc Facebook eile? Aisteach cé as a dtiocfadh an chéad iarraidh eile?

Cad a tharlódh dá ndéarfainn leat go raibh bealach ann chun é seo a thuar?

Is breá liom tobsmaointeoireacht agus teacht suas leis na ráitis fhadhb seo agus mé ag brabhsáil trí mo chuntas Facebook. Tá sé ar cheann de na rudaí a bhaineann le meon eolaí sonraí a bheith agat!

Is féidir an chuid is mó d’ardáin na meán sóisialta, lena n-áirítear Facebook, a struchtúrú mar ghraif. Tá na húsáideoirí cláraithe idirnasctha i Cruinne líonraí. Agus chun oibriú ar na líonraí agus na graif seo, teastaíonn tacar éagsúil cur chuige, uirlisí agus halgartaim uainn (in ionad modhanna traidisiúnta foghlama meaisín).

Mar sin san alt seo, déanfaimid fadhb líonra sóisialta a réiteach le cabhair ó ghraif agus ó fhoghlaim meaisín. Tuigfimid ar dtús na croí-choincheapa agus na comhpháirteanna de thuar nasc sula dtógfaimid cás-staidéar ar Facebook agus é a chur i bhfeidhm i Python!

Molaim dul trí na hailt thíos chun léargas a fháil ar cad iad na graif agus conas a oibríonn siad:

Clár ábhair

  1. Forbhreathnú ar Analytics Líonra Sóisialta
  2. Primer ar Prediction Link
  3. Straitéis chun Fadhb Réamhaisnéise Nasc a Réiteach
  4. Cás-Staidéar: Naisc sa Todhchaí a Thuar idir Leathanaigh Facebook - Na Sonraí a Thuiscint - Foirgneamh Múnla Ullmhúcháin Sonraí - Eastóscadh Gné - Tógáil Múnla: Múnla Réamh-Thuar

Forbhreathnú ar Analytics Líonra Sóisialta

Déanaimis líonra sóisialta a shainiú ar dtús sula ndéanaimid tumadh isteach sa choincheap maidir le tuar nasc.

Go bunúsach is éard atá i líonra sóisialta ná léiriú ar na caidrimh idir aonáin shóisialta, amhail daoine, eagraíochtaí, rialtais, páirtithe polaitiúla, srl.

Gineann na hidirghníomhaíochtaí i measc na n-eintiteas seo méideanna do-thuigthe sonraí i bhfoirm post, teachtaireachtaí comhrá, tweets, leithéidí, tráchtanna, scaireanna, srl. Osclaíonn sé seo fuinneog deiseanna agus úsáideann muid cásanna ar féidir linn oibriú orthu.

Tugann sé sin muid chuig Social Network Analytics (SNA). Is féidir linn é a shainiú mar mheascán de roinnt gníomhaíochtaí a dhéantar ar na meáin shóisialta. Cuimsíonn na gníomhaíochtaí seo bailiú sonraí ó shuíomhanna meán sóisialta ar líne agus na sonraí sin a úsáid chun cinntí gnó a dhéanamh.

Is fiú go mór na buntáistí a bhaineann le hanailísíocht líonra sóisialta. Seo cúpla príomhbhuntáiste:

  • Cabhraíonn sé leat do lucht féachana a thuiscint níos fearr
  • Úsáidtear le haghaidh deighilt custaiméirí
  • Úsáidtear chun Córais Molta a dhearadh
  • Braith nuacht bhréige, i measc rudaí eile

Primer ar Prediction Link

Tá tuar nasc ar cheann de na hábhair taighde is tábhachtaí i réimse na ngraif agus na líonraí. Is é cuspóir an tuartha nasc ná péirí nóid a shainaithint a bheidh ina nasc nó nach mbeidh sa todhchaí.

Tá tonna úsáide ag tuar nasc in iarratais sa saol fíor. Seo cuid de na cásanna úsáide tábhachtacha a bhaineann le tuar nasc:

  • Tuar cé na custaiméirí ar dóigh dóibh na táirgí a cheannach ar mhargaí ar líne mar Amazon. Is féidir leis cabhrú le moltaí níos fearr a dhéanamh maidir le táirgí
  • Mol idirghníomhaíochtaí nó comhoibrithe idir fostaithe in eagraíocht
  • Sliocht léargas ríthábhachtach ó líonraí sceimhlitheoireachta

San Airteagal seo, déanfaimid iniúchadh ar chás úsáide beagán difriúil maidir le tuar nasc - naisc a thuar i líonra sóisialta ar líne!

Straitéis chun Fadhb Réamhaisnéise Nasc a Réiteach

Más féidir linn graf a léiriú ar bhealach éigin i bhfoirm tacar sonraí struchtúrtha a bhfuil tacar gnéithe aige, ansin b’fhéidir go bhféadfaimis foghlaim meaisín a úsáid chun foirmiú nasc idir na nód-phéirí neamhcheangailte den ghraf a thuar.

Gabhaimis graf caochaíl chun an smaoineamh seo a thuiscint. Tugtar graf 7 nód thíos agus is iad na péirí nód neamhcheangailte AF, BD, BE, BG, agus EG:

Graf ag am t

Anois, abair go ndéanaimid anailís ar na sonraí agus cheapamar an graf thíos. Tá cúpla nasc nua curtha le chéile (naisc i ndath dearg):

Graf ag am t + n

Ní mór dúinn tacar athróg tuartha agus athróg sprice a bheith againn chun samhail foghlama meaisín de chineál ar bith a thógáil, ceart? Mar sin cá bhfuil na hathróga seo? Bhuel, is féidir linn é a fháil ón ngraf féin! A ligean ar a fheiceáil conas a dhéantar é.

Is é ár gcuspóir a thuar an mbeadh nasc idir aon 2 nóid neamhcheangailte. Ón líonra ag am t, is féidir linn na péirí nód seo a leanas nach bhfuil aon nasc eatarthu a bhaint:

  1. AF
  2. BD
  3. BE
  4. BG
  5. EG

Tabhair faoi deara le do thoil, ar mhaithe le caoithiúlacht, nár bhreithnigh mé ach na nóid sin atá cúpla nasc óna chéile.

Is é an chéad chéim eile dúinn gnéithe a chruthú do gach péire nóid. Is é an dea-scéal ná go bhfuil teicnící éagsúla ann chun gnéithe a bhaint as na nóid i líonra. Ligean le rá go n-úsáideann muid ceann de na teicnící sin agus gnéithe a thógáil do gach ceann de na péirí seo. Mar sin féin, níl a fhios againn fós cad é an sprioc-athróg. Ní dhéanfaidh aon ní a bheith buartha - is féidir linn é sin a fháil go héasca freisin.

Féach ar an ngraf ag am t + n. Is féidir linn a fheiceáil go bhfuil trí nasc nua sa líonra do na péirí AF, BD, agus BE faoi seach. Dá bhrí sin, sannfaimid luach 1. Sannfar 0 do gach ceann acu. Sannfar 0 do na péirí nód BG agus EG toisc nach bhfuil aon naisc idir na nóid fós.

Dá réir sin, beidh an chuma ar na sonraí mar seo:

Anois go bhfuil an sprioc-athróg againn, is féidir linn samhail foghlama meaisín a thógáil ag baint úsáide as na sonraí seo chun tuar nasc a dhéanamh.

Mar sin, seo an chaoi a gcaithfimid graif shóisialta a úsáid ag dhá chás éagsúla ama chun an sprioc-athróg a bhaint, ie láithreacht nasc idir péire nód. Coinnigh i gcuimhne, áfach, nach mbeidh sonraí na linne seo ach i gcásanna an domhain réadaigh.

Sliocht sonraí ó Ghraf chun do Shamhail a Thógáil

Sa chuid thuas, bhíomar in ann lipéid a fháil don sprioc-athróg toisc go raibh rochtain againn ar an ngraf ag am t + n. Mar sin féin, i gcásanna an tsaoil réadaigh, ní bheadh ​​ach tacar sonraí graf amháin againn idir lámha. Sin é!

Ligean le rá go bhfuil an graf thíos de líonra sóisialta againn ina bhfuil na nóid ina n-úsáideoirí agus ina léiríonn na himill caidreamh de chineál éigin:

Is iad na péirí nód iarrthóra, a d’fhéadfadh nasc a dhéanamh amach anseo (1 & 2), (2 & 4), (5 & 6), (8 & 10), agus mar sin de. Ní mór dúinn samhail a thógáil a thuar an mbeadh nasc idir na péirí nód seo nó nach mbeadh. Seo a bhfuil i gceist le tuar nasc!

Chun samhail tuartha nasc a thógáil, áfach, caithfimid tacar sonraí oiliúna a ullmhú as an ngraf seo. Is féidir é a dhéanamh le cleas simplí.

Pictiúr é seo - cén chuma a bheadh ​​ar an ngraf seo ag pointe éigin san am atá thart? Bheadh ​​níos lú imill idir na nóid toisc go dtógtar naisc i líonra sóisialta de réir a chéile le himeacht ama.

Dá réir sin, agus seo á choinneáil i gcuimhne, is féidir linn cuid de na himill a cheilt go randamach ón ngraf a thugtar agus ansin an teicníc chéanna a leanúint mar a míníodh sa chuid roimhe seo chun an tacar sonraí oiliúna a chruthú.

Naisc a bhaint den ghraf

Agus naisc nó imill á mbaint amach, ba cheart dúinn seachaint aon imeall a d’fhéadfadh nód iargúlta (nód gan aon imeall) nó líonra iargúlta a bhaint. Caithfimid cuid de na himill ónár líonra a bhaint:

Mar a fheiceann tú, baineadh na himill sna péirí nód (1 & 4), (7 & 9), agus (3 & 8).

Cuir lipéid le sonraí eastósctha

Ina dhiaidh sin, bheadh ​​orainn gnéithe a chruthú do na péirí nód neamhcheangailte go léir lena n-áirítear na cinn a bhfuil na himill fágtha ar lár againn dóibh. Déanfar na himill bainte a lipéadú mar '1' agus na péirí nód neamhcheangailte mar '0'.

Beidh an sprioc-athróg neamhchothromaithe go mór sa tacar sonraí seo. Seo a chasfaidh tú air i ngraif sa saol fíor freisin. Bheadh ​​líon na mbeirteanna nód neamhcheangailte an-mhór.

Déanaimis cás-staidéar a dhéanamh agus an fhadhb a bhaineann le tuar nasc a réiteach trí Python a úsáid.

Cás-Staidéar: Tuar Naisc Amach Anseo idir Leathanaigh Facebook

Seo nuair a chuirfimid gach ceann de na rudaí thuas i bhfeidhm i gcás uamhnach sa saol fíor.

Oibreoimid le tacar sonraí graf ina bhfuil na nóid leathanaigh Facebook de hailt bia móréilimh agus príomhchócaire mór le rá ó gach cearn den domhan. Más cosúil le dhá leathanach ar bith (nóid) lena chéile, tá imeall (nasc) eatarthu.

Is féidir leat an tacar sonraí a íoslódáil anseo.

Cuspóir: Múnla tuartha nasc a thógáil chun naisc amach anseo (a leithéidí frithpháirteach) a thuar idir nóid neamhcheangailte (leathanaigh Facebook).

Cuirimis tine lenár Leabhar Nótaí Jupyter (nó Colab)!

Na Sonraí a Thuiscint

Déanfaimid na leabharlanna agus na modúil riachtanacha uile a allmhairiú ar dtús:

Déanaimis na leathanaigh Facebook a luchtú mar na nóid agus na rudaí is maith leo idir na leathanaigh mar imill:

Aschur: (620, 2102)

Tá 620 nóid agus 2,102 nasc againn. Cruthaímid anois bunachar sonraí de na nóid go léir. Léiríonn gach sraith den bhunachar sonraí seo nasc arna fhoirmiú ag na nóid sna colúin 'node_1' agus 'node_2', faoi seach:

fb_df.head ()

Cruthaíonn na nóid '276', '58', '132', '603', agus '398' naisc leis an nód '0'. Is féidir linn an socrú seo de leathanaigh Facebook a léiriú go héasca i bhfoirm graf:

Wow, tá cuma rud éigin air sin. Seo a bhfuilimid chun déileáil leis - mogalra sreinge de leathanaigh Facebook (poncanna gorma). Is iad na línte dubha na naisc nó na himill a nascann na nóid go léir lena chéile.

Ullmhú tacar sonraí le haghaidh Tógáil Múnla

Ní mór dúinn an tacar sonraí a ullmhú ó ghraf neamhcheartaithe. Beidh gnéithe de phéirí nód sa tacar sonraí seo agus bheadh ​​an sprioc-athróg dénártha ó thaobh nádúir de, ag léiriú láithreacht nasc (nó nach bhfuil).

Péirí nód neamhcheangailte a aisghabháil - Samplaí Diúltacha

Tuigimid cheana go gcaithfimid tacar sonraí a ullmhú ón ngraf a thugtar chun fadhb tuartha nasc a réiteach. Cuid mhór den tacar sonraí seo is ea na samplaí diúltacha nó na péirí nód neamhcheangailte. Sa chuid seo, taispeánfaidh mé duit conas is féidir linn na péirí nód neamhcheangailte a bhaint as graf.

Ar dtús, cruthóimid maitrís aclaíochta chun a fháil amach cé na péirí nóid nach bhfuil ceangailte.

Mar shampla, is maitrís chearnach í oiriúnacht an ghraif thíos ina léirítear nóid an ghraif na sraitheanna agus na colúin:

Cuirtear na naisc in iúl leis na luachanna sa mhaitrís. Ciallaíonn 1 go bhfuil nasc idir an péire nód agus ciallaíonn 0 go bhfuil nasc idir an péire nód. Mar shampla, tá 0 ag nóid 1 agus 3 ag a dtras-acomhal sa mhaitrís agus níl aon imeall ar na nóid sin sa ghraf thuas freisin.

Úsáidfimid an t-airí seo den mhaitrís aclaíochta chun na péirí nód neamhcheangailte go léir a fháil ón ngraf bunaidh G:

Déanaimis seiceáil ar chruth na maitrís aclaíochta:

adj_G.shape

Aschur: (620, 620)

Mar a fheiceann tú, is maitrís chearnach í. Anois, déanfaimid an mhaitrís aclaíochta a thrasnú chun suíomhanna na nialais a fháil. Tabhair faoi deara le do thoil nach gá dúinn dul tríd an maitrís iomlán. Tá na luachanna sa mhaitrís mar an gcéanna os cionn agus faoi bhun an trasnáin, mar a fheiceann tú thíos:

Is féidir linn cuardach a dhéanamh trí na luachanna os cionn an trasnáin (an chuid ghlas) nó na luachanna thíos (an chuid dhearg). Déanaimis cuardach ar na luachanna trasnánacha le haghaidh nialas:

Seo cé mhéad péirí nód neamhcheangailte atá againn inár tacar sonraí:

len (all_unconnected_pairs)

Aschur: 19,018

Tá 19,018 péire neamhcheangailte againn. Feidhmeoidh na péirí nód seo mar shamplaí diúltacha le linn oiliúint na samhla tuartha nasc. Coinnímid na péirí seo i bhfráma sonraí:

Bain Naisc ó Phéirí nód Nasctha - Samplaí Dearfacha

Mar a phléamar thuas, scaoilfimid go randamach cuid de na himill ón ngraf. Mar sin féin, d’fhéadfadh nóid agus blúirí den ghraf a ghearradh amach mar thoradh ar imill a bhaint go randamach. Ní mór dúinn aire a thabhairt dó seo. Ní mór dúinn a chinntiú gur chóir go mbeadh nóid uile an ghraif ceangailte le linn imill a thit.

Sa bhlocchód thíos, déanfaimid seiceáil ar dtús an bhfuil scoilt an ghraif (number_connected_components> 1) nó laghdú ar líon na nóid mar thoradh ar péire nód a ligean anuas. Mura dtarlaíonn an dá rud, ansin scaoilimid an péire nód sin agus déanaimid an próiseas céanna arís leis an gcéad péire nód eile.

Faoi dheireadh, gheobhaimid liosta de phéirí nód is féidir a thit ón ngraf agus d'fhanfadh na nóid go léir slán:

len (omissible_links_index)

Aschur: 1483

Tá os cionn 1400 nasc againn ar féidir linn titim ón ngraf. Feidhmeoidh na himill thit seo mar shamplaí oiliúna dearfacha le linn na hoiliúna ar mhúnla tuartha nasc.

Sonraí le haghaidh Oiliúna Múnla

Ina dhiaidh sin, cuirfimid na himill inbhainte seo i gceangal le bunachar sonraí na mbeirteanna nód neamhcheangailte. Ó tharla gur samplaí dearfacha iad na himill nua seo, beidh spriocluach '1' acu:

Déanaimis seiceáil ar dháileadh luachanna na sprioc-athróg:

sonraí ['nasc']. value_counts ()

0 -19018 1 -1483

Tarlaíonn sé gur sonraí an-mhíchothromaithe iad seo. Tá an cóimheas idir nasc vs aon nasc díreach gar do 8%. Sa chéad chuid eile, bainfimid gnéithe do na péirí nód seo go léir.

Eastóscadh Gné

Úsáidfimid an algartam node2vec chun gnéithe nód a bhaint as an ngraf tar éis na naisc a ligean anuas. Mar sin, déanaimis graf nua a chruthú ar dtús tar éis na naisc inbhainte a ligean anuas:

Ar aghaidh, suiteálfaimid an leabharlann node2vec. Tá sé an-chosúil leis an algartam DeepWalk. Mar sin féin, bíonn siúlóidí randamacha claonta i gceist leis. Chun níos mó eolais a fháil ar node2vec, ba cheart duit cinnte an páipéar seo node2vec: Gné Scála a Fhoghlaim do Líonraí a sheiceáil.

De thuras na huaire, coinnigh i gcuimhne go n-úsáidtear node2vec chun veicteoir nóid ghraif a léiriú. Déanaimis é a shuiteáil:

shuiteáil pip node2vec

B’fhéidir go dtógfadh sé tamall ort é a shuiteáil ar do mheaisín áitiúil (tá sé gasta go leor má tá Colab á úsáid agat).

Anois, cuirfimid oiliúint ar an tsamhail node2vec ar ár ngraf (G_data):

Ansin, cuirfimid an tsamhail oilte node2vec i bhfeidhm ar gach péire nód sa 'sonraí' tacar sonraí. Chun gnéithe péire nó imeall a ríomh, cuirfimid gnéithe na nóid sa phéire sin suas:

x = [(n2w_model [str (i)] + n2w_model [str (j)]) le haghaidh i, j i zip (sonraí ['node_1'], sonraí ['node_2'])]

Ag tógáil ár Múnla Prediction Link

Chun feidhmíocht ár múnla a bhailíochtú, ba cheart dúinn ár gcuid sonraí a roinnt ina dhá chuid - ceann amháin chun an tsamhail a oiliúint agus an ceann eile chun feidhmíocht an mhúnla a thástáil:

Déanaimis samhail aischéimnithí lóistíochta a fheistiú ar dtús:

Déanfaimid tuar anois ar an tacar tástála:

tuar = lr.predict_proba (xtest)

Úsáidfimid an scór AUC-ROC chun feidhmíocht ár múnla a sheiceáil.

roc_auc_score (ytest, tuar [:, 1])

Aschur: 0.7817

Faighimid scór 0.78 ag baint úsáide as samhail aischéimnithí loighisticice. Feicfimid an féidir linn scór níos fearr a fháil trí mhúnla níos casta a úsáid.

Stopadh an oiliúint tar éis an 208ú leagan toisc gur chuireamar na critéir stad luath i bhfeidhm. Níos tábhachtaí fós, fuair an tsamhail scór iontach 0.9273 AUC ar an tacar tástála. Molaim duit féachaint ar na cáipéisí lightGBM chun níos mó a fhoghlaim faoi na paraiméadair éagsúla.

Nótaí Deiridh

Tá acmhainneacht ollmhór i ngraif. Is féidir linn leas a bhaint as seo chun líon mór fadhbanna sa saol fíor a réiteach, a bhfuil tuar nasc ina cheann.

San Airteagal seo, léirigh muid conas is féidir dul i ngleic le fadhb tuartha nasc trí fhoghlaim meaisín, agus cad iad na teorainneacha agus na gnéithe tábhachtacha nach mór dúinn a choinneáil i gcuimhne agus fadhb den sórt sin á réiteach.

Ná bíodh drogall ort aon cheist a chur nó d'aiseolas a fhágáil sa chuid tuairimí thíos. Coinnigh ort ag iniúchadh!

Foilsíodh ar dtús é ag https://www.analyticsvidhya.com an 16 Eanáir 2020.