Дастур оид ба пешгӯии алоқаманд - Чӣ гуна пешгӯиҳои худро дар Facebook пешгӯӣ бояд кард

Шарҳи

  • Муқаддима барои пайванди пешгӯӣ, он чӣ гуна кор мекунад ва дар куҷо шумо метавонед онро дар ҷаҳони воқеӣ истифода баред
  • Дар бораи аҳамияти пешгӯии Link оид ба васоити ахбори иҷтимоӣ маълумот гиред
  • Аввалин модели пешгӯии Link-и худро бо истифодаи Python барои парвандаи истифодаи Facebook созед

Муқаддима

Оё шумо ягон бор фикр кардаед, ки пайвастагии навбатии Facebook кист? Аҷибаш ин аст, ки дархости навбатӣ аз кӣ омада метавонад?

Чӣ мешуд, агар ман ба шумо гуфтам, ки барои ин пешгӯӣ кардан мумкин аст?

Вақте ки ман тавассути ҳисоби Facebook-и худ аз назар мегузаронам, ҳамлаи мағзи сарро ба амал меоварам ва бо ин изҳороти мушкилот омадаам. Ин яке аз имтиёзҳои доштани тафаккури олимони маълумот мебошад!

Аксари платформаҳои васоити ахбори иҷтимоӣ, аз ҷумла Facebook, метавонанд ҳамчун графика сохторбандӣ карда шаванд. Истифодабарандагони сабтшуда дар ҷаҳони шабакаҳо бо ҳам пайвастанд. Ва барои кор дар ин шабакаҳо ва графикҳо ба мо маҷмӯи гуногуни равишҳо, абзорҳо ва алгоритмҳо лозиманд (ба ҷои усулҳои анъанавии омӯзиши мошинҳо).

Ҳамин тавр, дар ин мақола мо як масъалаи шабакаи иҷтимоиро бо ёрии графикҳо ва омӯзиши мошинсозӣ ҳал хоҳем кард. Мо аввал мафҳумҳо ва унсурҳои пешгӯии пайвандро пеш аз омӯзиши омӯзиши ҳолатҳои Facebook ва дар Python татбиқ кардани он, дарк хоҳем кард!

Ман тавсия медиҳам, ки аз мақолаҳои зер гузарам, то ин ки графикҳо ва тарзи корашон дарк карда шаванд:

Мундариҷа

  1. Шарҳи таҳлили шабакаи иҷтимоӣ
  2. Як дастур оид ба пешгӯии истинод
  3. Стратегияи ҳалли мушкилоти пешгӯии пайванд
  4. Омӯзиши қазия: Пешгӯии робитаи ояндаро дар саҳифаҳои Facebook - Фаҳмидани маълумот - Модели омодасозии пойгоҳи додаҳо - Истихроҷи хусусиятҳо - Модели бинои: Модели пешгӯии пайванд

Шарҳи таҳлили шабакаи иҷтимоӣ

Биёед пеш аз ба консепсияи пешгӯии пайванд гузаштан шабакаи иҷтимоиро муайян кунем.

Шабакаи иҷтимоӣ аслан инъикоси муносибатҳои байни субъектҳои иҷтимоӣ, аз қабили одамон, созмонҳо, ҳукуматҳо, ҳизбҳои сиёсӣ ва ғайра мебошад.

Ҳамкории байни ин ниҳодҳо миқдори тасаввурнашавандаи маълумотро дар шакли паёмҳо, паёмҳои чат, твитҳо, писандидаҳо, шарҳҳо, аксияҳо ва ғайра ба вуҷуд меорад. Ин равзанаи имкониятҳоро мекушояд ва ҳолатҳое, ки мо дар онҳо кор карда метавонем.

Ин моро ба таҳлили шабакаи иҷтимоӣ (SNA) меорад. Мо метавонем онро ҳамчун маҷмӯи якчанд фаъолиятҳое, ки дар васоити ахбори иҷтимоӣ иҷро мешаванд, муайян созем. Ин фаъолиятҳо ҷамъоварии маълумотро аз сайтҳои васоити ахбори интернетии иҷтимоӣ ва истифодаи ин маълумотро барои қабули қарорҳои тиҷоратӣ дар бар мегиранд.

Фоидаҳои таҳлилҳои шабакаи иҷтимоӣ метавонанд хеле судманд бошанд. Инҳоянд чанд манфиатҳои калидӣ:

  • Ба шумо барои беҳтар фаҳмидани аудиторияатон кӯмак мекунад
  • Барои гурӯҳбандии муштариён истифода мешавад
  • Барои тарҳрезии Системаи Тавсия истифода мешавад
  • Дар байни чизҳои дигар, хабарҳои қалбакиро ошкор кунед

Як дастур оид ба пешгӯии истинод

Пешгӯии пайвандҳо яке аз муҳимтарин мавзӯҳои таҳқиқот дар соҳаи графика ва шабакаҳо мебошад. Ҳадафи пешгӯии пайвандҳо муайян кардани ҷуфтҳои гиреҳҳо мебошад, ки ё дар оянда пайванде ба вуҷуд меоранд ё не.

Пешгӯии алоқаманд дар барномаҳои воқеии ҷаҳонӣ як тонна дорад. Инҳоянд чанд мисолҳои муҳим барои пешгӯии пайванд:

  • Пешгӯӣ кунед, ки кадом муштариён кадом бозорро дар бозорҳои онлайн ба монанди Амазон харида метавонанд. Он метавонад дар таҳияи тавсияҳои беҳтари маҳсулот кумак кунад
  • Пешниҳод кардани амалҳо ё ҳамкории байни кормандон дар як созмон
  • Нашрияҳои муҳимро аз шабакаҳои террористӣ хориҷ кунед

Дар ин мақола, мо мисоли истифодаи пешгӯии пайвандро каме пешгӯӣ хоҳем кард - пешгӯи кардани истинодҳо дар шабакаи иҷтимоӣ!

Стратегияи ҳалли мушкилоти пешгӯии пайванд

Агар мо бо як роҳ графикро дар шакли маҷмӯаи сохтори дорои маҷмӯи хусусиятҳо муаррифӣ намоем, пас мо метавонем бо истифода аз омӯзиши мошинсозӣ барои пешгӯии ташаккули пайвандҳо дар байни ҷуфтҳои ҷудошудаи ҷадвал истифода барем.

Биёед барои фаҳмидани ин идея як диаграммаи шаблон бигирем. Дар зер диаграммаи 7 гиреҳ оварда шудааст ва ҷуфтҳои пайвасти пайвастнашуда AF, BD, BE, BG ва EG мебошанд:

Графикӣ дар вақти т

Акнун, биёед бигӯем, ки маълумотро таҳлил мекунем ва бо диаграммаи зер таҳия кардем. Якчанд пайвастҳои нав ба вуҷуд омадаанд (истинодҳо бо ранги сурх):

Графикӣ дар вақти t + n

Мо бояд барои сохтани ҳама гуна модели омӯзиши мошин маҷмӯи тағйирёбандаҳои пешгӯишаванда ва тағирёбандаи мақсаднок дошта бошем, дуруст? Пас ин тағйирёбандаҳо дар куҷоянд? Хуб, мо метавонем онро аз худи график ба даст орем! Биё бубинем, ки ин чӣ гуна иҷро шудааст.

Ҳадафи мо пешгӯӣ кардан аст, ки оё байни ду гиреҳи пайвастнашуда вуҷуд хоҳад дошт. Аз шабака ба вақти t, мо метавонем ҷуфтҳои гиреҳи зеринро гирем, ки байни худ робита надоранд:

  1. АФ
  2. БД
  3. Бошад
  4. БГ
  5. ЭГ

Лутфан таваҷҷӯҳ намоед, ки барои роҳат, ман танҳо он гиреҳҳоро баррасӣ кардам, ки дар ҳам пайванданд.

Қадами навбатӣ барои мо ин сохтани хусусиятҳо барои ҳар як ҷуфт гиреҳҳо мебошад. Хабари хуб дар он аст, ки якчанд техникаи ба даст овардани хусусиятҳо аз гиреҳҳо дар шабака мавҷуданд. Биё мегӯянд, ки мо яке аз ин усулҳоро истифода мебарем ва барои ҳар яке аз ин ҷуфтҳо хусусиятҳо месозем. Аммо, мо то ҳол намедонем, ки тағирёбандаи мавриди ҳадаф чист. Ҳеҷ чиз дар ташвиш нест, - мо ҳам инро ба осонӣ ба даст оварда метавонем.

Вақтро ба диаграмма нигоҳ кунед t + n. Мо мебинем, ки дар шабака ҷуфтҳои нави AF, BD ва BE мавҷуданд. Аз ин рӯ, мо ба ҳар яки онҳо арзиши 1-ро таъин хоҳем кард. Ҷуфтҳои гиреҳ BG ва EG 0 таъин карда мешаванд, зеро дар гиреҳҳо ҳанӯз робита вуҷуд надорад.

Ҳамин тариқ, маълумот чунин хоҳад буд:

Акнун, ки мо тағирёбандаи мавриди ҳадаф дорем, мо метавонем як модели омӯзиши мошинро бо истифода аз ин маълумот барои анҷом додани пешгӯиҳои пайванд эҷод кунем.

Ҳамин тавр, чунин аст, ки мо бояд графикҳои иҷтимоиро дар ду ҳолати мухталиф барои ба даст овардани тағирёбандаи мавриди ҳадаф истифода барем, яъне мавҷудияти робита байни ҷуфти гиреҳ. Дар хотир доред, ки дар сенарияҳои воқеӣ мо танҳо маълумоти ҳозираро дорем.

Маълумотро аз График барои сохтани модели худ ҷудо кунед

Дар боби боло мо тавонистем нишонаҳо барои тағирёбандаи мавриди ҳадаф дошта бошем, зеро дар вақти t + n ба график дастрасӣ доштем. Аммо, дар сенарияҳои воқеӣ, мо танҳо як маҷмӯаи графикро нигоҳ медоштем. Ана тамом!

Биёед гӯем, ки мо диаграммаи зерини шабакаи иҷтимоиро дорем, ки гиреҳҳо корбарон мебошанд ва кунҷҳо ягон хел муносибатро ифода мекунанд:

Ҷуфтҳои гиреҳи номзад, ки метавонанд дар оянда пайванде ба вуҷуд оранд, инҳоянд (1 & 2), (2 & 4), (5 & 6), (8 & 10) ва ғайра. Мо бояд моделе созем, ки пешгӯӣ кунад, ки дар байни ин ҷуфтҳои гиреҳ пайванде ҳаст ё не. Ин аст пешгӯии пайванд ҳама чиз!

Аммо, барои сохтани модели пешгӯии пайванд, мо бояд аз ин ҷадвал маълумотҳои омӯзиширо омода кунем. Инро бо истифода аз ҳиллаи оддӣ кардан мумкин аст.

Тасаввур кунед, ки чӣ гуна ин граф ба нуқтаи гузашта чӣ гуна менамуд? Байни гиреҳҳо камтар хоҳад буд, зеро пайвастҳо дар шабакаи иҷтимоӣ тадриҷан бо гузашти замон сохта мешаванд.

Аз ин рӯ, инро дар хотир дошта, мо метавонем як қатор кунҷҳоро аз графикаи додашуда пинҳон кунем ва пас ҳамон усулеро, ки дар фасли пешин шарҳ дода шудааст, барои сохтани махзани маълумот истифода барем.

Истинодҳо аз Граф

Ҳангоми тоза кардани пайвандҳо ё кунҷҳо, мо бояд аз канорагирӣ кардани ҳар гуна каноре, ки метавонад гиреҳи ҷудошуда (гиреҳ бидуни ягон канор) ё шабакаи ҷудошударо пешгирӣ кунад, дурӣ ҷӯем. Биёед баъзе аз канорҳоро аз шабакаи худ ҷудо кунем:

Тавре ки шумо мебинед, кунҷҳои дар ҷуфтҳои гиреҳ (1 & 4), (7 & 9) ва (3 & 8) бардошта шуданд.

Ба маълумоти истихроҷшуда нишонаҳо илова кунед

Баъд, ба мо лозим аст, ки хусусиятҳои ҳамаи ҷуфтҳои пайвастнашудаи гиреҳ, аз ҷумла онҳое, ки канорҳои худро партофтаем, эҷод кунем. Кунҷҳои тоза кардашуда ҳамчун '1' ва ҷуфтҳои гиреҳи пайвастнашуда ҳамчун '0' ишора карда мешаванд.

Тағирёбандаи мавриди ҳадаф дар ин маҷмӯаи маълумот хеле нобаробар мешавад. Ин ҳамон чизест, ки шумо дар графикҳои воқеӣ дучор меоед. Шумораи ҷуфтҳои гиреҳи пайвастнашуда хеле калон хоҳад буд.

Биёед омӯзиши кейтаро дида бароем ва истифодаи пешгӯии пайвандро бо истифодаи Python ҳал кунем.

Омӯзиши қазия: Пешгӯии алоқаи байни саҳифаҳои Facebook

Ин аст он ҷое ки мо ҳама болоҳои дар боло номбаршударо ба сенарияи аҷоиби воқеӣ татбиқ хоҳем кард.

Мо бо маҷмӯаи графикӣ кор хоҳем кард, ки дар он гиреҳҳо саҳифаҳои Facebook дар якҷоягӣ бо хӯрокҳои маъруфи озуқаворӣ ва сартарошони машҳур аз тамоми ҷаҳон мебошанд. Агар ҳар ду саҳифа (гиреҳ) ба ҳам монанд бошанд, пас миёни онҳо як канор (пайванд) ҳаст.

Шумо метавонед пойгоҳи додаҳоро аз ин ҷо зеркашӣ кунед.

Маќсад: сохтани модели пешгўии истинод барои пешгўии пайванди оянда (маъќулияти муштарак) байни гиреҳҳои пайваста (саҳифаҳои Facebook).

Биёед дафтарчаи Jupyter (ё Colab) -ро оташ занем!

Фаҳмидани маълумот

Мо аввал тамоми китобхонаҳо ва модулҳои заруриро ворид мекунем:

Биёед саҳифаҳои Facebook-ро ҳамчун гиреҳҳо ва писандидаи мутақобила дар байни саҳифаҳо ҳамчун канорҳо бор кунем:

Нашрия: (620, 2102)

Мо 620 гиреҳ ва 2110 пайванд дорем. Биёед ҳоло як номаи ҳамаи гиреҳҳоро созем. Ҳар як сатри ин додаҳо пайванди бо гиреҳҳо дар сутунҳои 'node_1' ва 'node_2' ташкилшударо ифода мекунад, мутаносибан:

fb_df.head ()

Гӯшаҳои '276', '58', '132', '603' ва '398' бо гиреҳи '0' робита мекунанд. Мо метавонем ба осонӣ ин сохтори саҳифаҳои Facebookро дар намуди диаграмма пешниҳод кунем:

Хуб, ин хеле ба назар мерасад. Ин аст он чизе ки мо бо он сарукор хоҳем кард - торҳои симии саҳифаҳои Facebook (нуқтаҳои кабуд). Хатҳои сиёҳ пайвандҳо ё кунҷҳо мебошанд, ки ҳамаи гиреҳҳоро бо ҳам мепайвандад.

Омодасозии базаи маълумотҳо барои сохтани модел

Ба мо лозим аст, ки маълумотро аз график тағир надиҳем. Ин маҷмӯа хусусиятҳои ҷуфтҳои гиреҳро дар бар мегирад ва тағирёбандаи мавриди ҳадаф хусусияти бинарӣ хоҳад дошт ва ишора ба ҳузури пайвандҳо (ё не).

Боз кардани ҷуфтҳои гиреҳи пайваста - Намунаҳои манфӣ

Мо аллакай фаҳмидем, ки барои ҳалли масъалаи пешгӯии истинод, мо бояд маълумотро аз ҷадвали додашуда омода кунем. Қисми асосии ин маҷмӯа намунаҳои манфӣ ё ҷуфтҳои гиреҳи пайвастнашуда мебошанд. Дар ин бахш, ба шумо нишон медиҳам, ки чӣ тавр мо ҷуфтҳои гиреҳи пайвастнашударо аз график ҷудо карда метавонем.

Аввалан, мо матритсаи мутобиқро месозем, то он гиреҳҳои гиреҳҳо пайваст нашуда бошанд.

Барои мисол, наздикии ҷадвали зер матритсаи мураббаъест, ки дар он сатрҳо ва сутунҳо бо гиреҳҳои график муаррифӣ мешаванд:

Пайвандҳо бо арзишҳои матритса ифода карда мешаванд. 1 маънои онро дорад, ки дар байни ҷуфти гиреҳ пайванд вуҷуд дорад ва 0 маънои онро дорад, ки дар байни ҷуфти гиреҳ пайванд вуҷуд дорад. Масалан, гиреҳҳои 1 ва 3 дар гузаргоҳи худ дар матритса 0 доранд ва ин гиреҳҳо низ дар графикаи боло канор надоранд.

Мо ин амволи матритсаи ҳамсояро барои ёфтани ҳамаи ҷуфтҳои гиреҳи пайвастнашуда аз графикаи аслии G истифода мебарем:

Биёед шакли ҷадвали ҳамсояро тафтиш кунем:

adj_G.shape

Нашрия: (620, 620)

Тавре ки шумо мебинед, он матри мураббаъ аст. Акнун, мо барои ёфтани мавқеи сифрҳо матритсаи мутобиқро мегузарем. Илтимос дар хотир гиред, ки мо набояд тамоми матритсаро гузарем. Арзишҳо дар матритса дар боло ва поён аз диагональ якхела мебошанд, тавре ки шумо дар поён мебинед:

Мо метавонем аз арзишҳои болои диагоналӣ (қисми сабз) ё арзишҳои зер (қисми сурх) ҷустуҷӯ кунем. Биёед арзиши диагоналиро барои сифр ҷустуҷӯ кунем:

Ин аст, ки дар ҷадвали мо чанд ҷуфтҳои гиреҳи пайвастнашуда мавҷуданд:

лен (ҳама_кишварҳои_фаршшуда)

Натиҷа: 19,018

Мо 19,018 ҷуфтҳои пайвастнашуда дорем. Ин ҷуфтҳои гиреҳ ҳангоми омӯзиши модели пешгӯии пайванд ҳамчун намунаҳои манфӣ амал мекунанд. Биёед ин ҷуфтҳоро дар дафтар нигоҳ дорем:

Истинодҳоро аз ҷуфтҳои гиреҳи пайвастшуда тоза кунед - Намунаҳои мусбӣ

Чӣ тавре ки мо дар боло муҳокима кардем, баъзе аз кунҷҳоро аз график ба таври тасодуфӣ хориҷ мекунем. Бо вуҷуди ин, буридани тасодуфӣ кунҷҳо метавонанд бурида шаванд. Ин чизе аст, ки мо бояд дар назар гирем. Мо бояд боварӣ ҳосил кунем, ки дар ҷараёни партофтани кунҷҳо ҳама гиреҳҳои график бояд пайваст бошанд.

Дар блоки рамзии зер, мо аввал тафтиш мекунем, ки агар тарки як ҷуфт гиреҳ ба тақсим намудани график оварда шавад (number_connected_component> 1) ё кам шудани шумораи гиреҳҳо. Агар ин ду ҳолат рух надиҳанд, он гоҳ мо ин ҷуфт гиреҳро партофта, ҳамон равандро бо ҷуфти гиреҳи навбатӣ такрор мекунем.

Дар ниҳоят, мо рӯйхати ҷуфтҳои гиреҳҳоро мегирем, ки онҳоро аз график партофтан мумкин аст ва ҳамаи гиреҳҳо ҳоло ҳам бетағйир боқӣ мемонанд:

len (omissible_links_index)

Нашр: 1483

Мо зиёда аз 1400 пайванд дорем, ки мо метавонем онҳоро аз график партоем. Ин канорҳои партофташуда дар мисоли омӯзиши пешгӯии пайванд метавонанд ҳамчун намунаҳои мусбати омӯзиш хидмат кунанд.

Маълумот барои омӯзиши моделӣ

Баъд, мо ин кунҷҳои ҷудошавандаро ба пойгоҳи додаҳои ҷуфтҳои пайвастнашуда зам мекунем. Азбаски ин кунҷҳои нав намунаҳои мусбӣ мебошанд, онҳо арзиши мавриди ҳадафи '1' доранд:

Биёед тақсими қиматҳои тағирёбандаи мавриди ҳадафро тафтиш кунем:

маълумот ['link']. value_counts ()

0 -19018 1 -1483 нест

Маълум мешавад, ки ин маълумоти хеле нобаробар аст. Таносуби истинод ва бидуни пайванд танҳо 8% -ро ташкил медиҳад. Дар боби оянда, мо барои ҳамаи ин ҷуфтҳои гиреҳ хусусиятҳо хоҳем гирифт.

Хусусияти истихроҷ

Мо пас аз партофтани пайвандҳо алгоритми node2vec-ро барои ба даст овардани хусусиятҳои гиреҳ аз график истифода хоҳем кард. Пас, биёед аввал пас аз баровардани истинодҳои ҷудошаванда як ҷадвали нав созем:

Баъд, мо китобхонаи node2vec -ро насб мекунем. Он ба алгоритми DeepWalk хеле монанд аст. Аммо, ин қадамҳои ғаразноки тасодуфиро дар бар мегирад. Барои гирифтани маълумоти бештар дар бораи node2vec, шумо бояд ин коғазро тафтиш кунед node2vec: Омӯзиши хусусиятҳои миқёспазир барои шабакаҳо.

То ҳол, танҳо дар хотир нигоҳ доред node2vec барои муаррифии вектории гиреҳҳои график истифода мешавад. Биёед онро насб кунем:

! pip насб node2vec

Барои насб кардан дар мошини маҳаллии шумо каме вақт лозим аст (агар шумо Colab -ро истифода баред, он хеле зуд аст).

Акнун, мо модели node2vec-ро дар графикамон (G_data) таълим медиҳем:

Баъд, мо модели омӯзонидашудаи node2vecро дар ҳар як ҷуфт ва дар ҳар як гиреҳ дар феҳристи 'data' татбиқ хоҳем кард. Барои ҳисоб кардани хусусиятҳои як ҷуфт ё канор, мо хусусиятҳои гиреҳҳоро дар он ҷуфт илова мекунем:

x = [(n2w_model [str (i)] + n2w_model [str (j)]) барои i, j zip (маълумот ['node_1'], маълумот ['node_2'])]

Сохтани модели пешгӯии линкии мо

Барои тасдиқи иҷрои модели мо, мо бояд маълумоти худро ба ду қисм тақсим кунем: яке барои омӯзиши модел ва дигаре барои санҷидани фаъолияти модел:

Биёед аввал модели регрессияи логистикиро мутобиқ кунем:

Ҳозир мо дар маҷмӯи тест пешгӯӣ мекунем:

пешгӯиҳо = lr.predict_proba (xtest)

Мо холи AUC-ROC-ро барои санҷидани фаъолияти модели худ истифода хоҳем кард.

roc_auc_score (беҳтар, пешгӯиҳо [:, 1])

Натиҷа: 0.7817

Мо бо истифода аз модели регрессияи логистикӣ 0.78 хол мегирем. Биёед бубинем, ки оё бо истифода аз модели мураккаб мо метавонем баллҳои беҳтарро ба даст орем.

Омӯзиш пас аз 208-и итератсия қатъ карда шуд, зеро мо меъёрҳои барвақти таваққуфро истифода кардем. Муҳимтар аз ҳама, модел дар маҷмӯъи санҷиш баҳои 0.9273 AUC гирифт. Ман шуморо ташвиқ мекунам, ки ба ҳуҷҷатҳои lightGBM назар андозед ва дар бораи параметрҳои гуногун маълумоти бештар гиред.

Заметки хотимавӣ

Дар графикӣ потенсиали бузург мавҷуд аст. Мо метавонем инро барои ҳалли бисёр мушкилоти воқеӣ, ки пешгӯиҳои онҳо як аст, истифода барем.

Дар ин мақола, мо нишон додем, ки чӣ гуна мушкилоти пешгӯии пайвандро бо ёрии таълими техникӣ ҳаллу фасл кардан мумкин аст ва маҳдудиятҳо ва ҷанбаҳои муҳимеро, ки ҳангоми ҳалли чунин мушкилот бояд дар хотир дошта бошем, кадоманд.

Лутфан озод ҳис ба ҳар гуна саволҳо ё фикру мулоҳизаҳои худро дар қисмати шарҳҳои зер гузоред. Таҳқиқро давом диҳед!

Бори аввал дар https://www.analyticsvidhya.com 16 январи соли 2020 нашр шудааст.