了解像Facebook和LinkedIn这样的公司如何从网络中提取洞察
像Netflix这样的流媒体平台如何为你的晚上推荐完美电影?我们如何优化足球等体育运动中的球员定位?我们如何识别金融网络中的欺诈活动?我们如何在Tinder等约会应用中预测一场配对?
所有这些挑战都有相同的解决方案:社交网络分析。
社交网络分析(SNA)是一种强大的数据科学领域,可以探索网络实体之间复杂的关系,发现隐藏的模式并捕捉见解。网络实体可以是任何东西:可以是Instagram上的社交网络上的人,Internet上的网站,甚至是锦标赛网络中的体育队伍。
在接下来的部分中,我将帮助您了解数据科学中的网络是什么,我将描述最常见的类型,并实施多个算法来从网络中提取有价值的信息。
所有的理论部分都会结合实际例子。您将找到几个Python代码片段,以熟悉NetworkX Python库。
理解网络
网络,也称为图,是信息的一种特殊表示,由两个基本组成部分组成:节点和边。
节点是网络的构建块。它们代表网络中的各个实体。它们可以是社交网络中的人,也可以是生物网络中的基因等各种事物。
边代表节点之间的关系。它们可以定义两个人之间的互动,关联或依赖关系。边可以是有向的,表示它们所代表的关系从一个节点指向另一个节点。想象一下,有向边表示一个人向另一个人支付的付款,了解货币交换的方向确实是有益的。这种不对称性通过箭头来表示。
在NetworkX中,节点和边可以简单地表示如下: