درس اول: آشنایی با کتابخانه تحلیل گرافی NetworkX

مقدمه

شبکه‌های اجتماعی و ارتباطی به اشکال مختلف در هر مکانی قرار دارند. شبکه جاده‌ای، شبکه دوستان و دنبال‌کنندگان در جامعه مجازی و شبکه‌ای از همکاران اداری از جمله این موارد هستند. هرکدام از این شبکه‌ها نقش خاص خود را در زندگی روزمره ما ایفا می‌کنند که از انتشار و پخش اخبار مفید گرفته تا برگزاری انتخابات ملی را شامل می‌شوند. توانایی تجزیه‌وتحلیل این شبکه‌ها و اتخاذ تصمیمات آگاهانه مبتنی بر این اطلاعات مهارتی است که هر تحلیل‌گر داده‌ای باید از آن برخوردار باشد. هدف از این فصل، آموزش تجزیه‌وتحلیل شبکه اجتماعی با استفاده از پایتون و NetworkX به‌عنوان یک کتابخانه پایتون برای مطالعه و بررسی ساختار، پویایی و عملکرد شبکه‌های پیچیده است.

کتابخانه NetworkX

به کمک کتابخانه NetworkX می توان شبکه ها را ایجاد و دست کاری کرد. گره های یک گراف در این پکیج می توانند متن، تصاویر و یا موارد دیگر باشند. همچنین یال ها (لبه ها) می توانند وزن یا سری زمانی را نگه داری کنند. در این پکیج، بسیاری از الگوریتم های مربوط به گراف موجود است. به کمک این پکیج می توان کارهای مختلفی از جمله تعیین کوتاه ترین مسیر بین دو گره یا محاسبه فاصله یک گره از سایر گره های دیگر را انجام داد. به کمک معیارهای مرکزیت (Centrality Measures) مانند رتبه و بینابینی، می توان تاثیرگذارترین گره های موجود در شبکه را پیدا کرد. پایه معیار مرکزیت رتبه، این است که گره های مهم تر اتصالات بیشتری دارند. معیار مرکزیت بینابینی، تعداد دفعاتی که یک گره خاص به کوتاه ترین مسیر انتخابی بین دو گره دیگر می رسد، را تعیین می کند. هدف از این آموزش، آنالیز سریع شبکه ها است.

معرفی

اجازه دهید ابتدا کمی‌ درباره مفهوم شبکه‌های اجتماعی بحث کنیم. در شکل1 شبکه‌ای از بازیگران بالیوود را مشاهده می‌کنید که با عنوان نود یا گره با یکدیگر ارتباط دارند. هر کدام از این خط‌های متصل نشان‌دهنده آن است که آن‌ها حداقل در یک فیلم مشترک با هم همکاری داشته‌اند.

این یک شبکه اجتماعی محسوب می‌شود. هر شبکه با وضعیت ارتباطات بین هر یک از افراد مستقل درون آن تعریف می‌شود. این اتصالات رابطه بین اشخاص را مشخص می‌کند. زمانی‌که این ارتباطات و اتصالات حجم بسیار گسترده‌ای پیدا می‌کنند، کارشناسان می‌توانند درباره یک گروه از مردم و حتی مردمی که در یک کشور زندگی می‌کنند، اطلاعات تحلیل‌شده دقیقی را به دست آورند. تجزیه‌وتحلیل این شبکه‌ها درک وسیعی در مورد افراد درون آن شبکه، از جمله این‌که چه کسانی تاثیر واقعی روی دیگران دارند یا چه کسانی بیشترین ارتباطات را دارند و … در اختیار ما قرار می‌دهد.

عناصر تشکیل‌دهنده یک شبکه

گره‌ها (Nodes): نشان‌دهنده تک‌تک افراد موجود در شبکه‌ای است که ما می‌سازیم، مانند شبکه بازیگران.
لبه‌ها (Edges): نشان‌دهنده ارتباط بین این گره‌ها است. لبه‌ها بیانگر رابطه بین گره‌های موجود در یک شبکه است. در مثال ما این رابطه هم‌بازی بودن بازیگران را نشان می‌دهد.

اسکرول به بالا