1.4 社交网络挖掘
正如我们前面提到的,数据挖掘是从数据中发现一个模型,社交网络挖掘就是从表示社交网络的图形数据中发现模型。
社交网络挖掘是网络数据挖掘的一个应用,比较流行的应用有社会科学和文献计量学、PageRank和HITS算法、粗粒度图模型的不足、增强模型和技术、主题提取的评估以及网络的评估与建模。
社交网络
当涉及社交网络的讨论时,你会想到Facebook、Google+和LinkedIn等。社交网络的基本特征如下:
存在一个参与网络的实体集合。通常情况下,这些实体是人,但它们也完全可能是其他实体。
网络的实体之间至少存在一种关系。在Facebook上,这种关系被称为朋友,有时,这种关系要么存在要么不存在,两个人要么是朋友要么不是朋友。然而,在社交网络的其他例子中,关系有一个度。这个度可以是离散的,比如在Google+上,朋友、家人、相识或者不相识;这个度也可能是一个实际的数字,比如平均一天内两个人相互交谈所花费的时间。
社交网络有一个非随机性或者忠诚性的假设。这个条件最难形式化,但直观解释是关系趋于集中;也就是说,如果实体A与B和C都相关,那么B与C相关的概率就高于平均水平。
下面是社交网络的一些种类:
电话网络(telephone network):该网络的节点是电话号码,代表个体。
电子邮件网络(E-mail network):该网络的节点是电子邮件地址,也代表个体。
合作网络(collaboration network):该网络的节点代表发表了研究论文的个体,连接两个节点的边表示联合发表一篇或者多篇论文的两个个体。
社交网络以无向图建模。实体是节点,如果两个节点根据刻画网络的关系相互关联,那么就有一条边连接两个节点。如果相关联的关系有一个度,那么这个度就通过标记边来表示。
下载代码示例
你可以从http://www.packtpub.com的账户中下载所有你购买的Packt出版社出版的书籍的示例代码文件。如果你在其他地方购买了这本书,你可以访问http://www.packtpub.com/support网站并注册,我们将通过电子邮件直接给你发送文件。
这里有一个例子,它是用R语言的sna程序包中的科尔曼高中朋友数据(Coleman’s High School Friendship Data)进行分析。数据来源于对某个学年同一高中的73个男孩之间的友好关系的研究,所有被调查对象提供了两个时间点(春季和秋季)来报告其关系。数据集的名称是coleman,它是R语言中的数组类型。节点代表一个具体的学生,线代表两个学生之间的关系。