我相信你对社交网络分析、推荐系统和风控模式等术语并不陌生。社交网络分析无非是熊猫+ MATPLOTLIB。推荐系统主要是余弦相似性和协同过滤,而风控则被成熟的模型所占据,如LR (逻辑回归)和XG Boost。
用户肖像
但是你可能不知道的是,看似完全不同的社交网络分析、用户肖像、推荐系统和财务风险预测都可以通过网络挖掘的思想来实现。网络挖掘也可以应用于其他领域,如搜索引擎、知识地图、城市计算等。
什么是网络挖掘
以社交网络为例,网络中的每个人都是一个节点。如果两个人是朋友,他们会建立联系,我们会用连接边连接两个节点。以此类推,当所有联系人都加入时,我们就有了一个社交网络。
事实上,这与一般意义上的数据挖掘/数据分析是相同的,即数据中包含的信息和知识是通过挖掘/分析方法获得的。
不同之处在于,一般意义上的数据挖掘是通过算法模型(如常用的回归、分类和聚类模型)来描述/预测的,而网络挖掘提供了一种新的解决方案。
通过将数据/问题抽象成网络模型,我们可以帮助我们更好地进行数据分析/数据挖掘。
为什么我们要把它抽象为网络模型?例如,在社交网络中,我们通常如何找到最强大的大V,一般来说,我们只是对每个用户的粉丝进行排名。
然而,web挖掘的想法是不同的。我们可以通过建立一个用户相互密切关注的网络模型来找出大V。我们在这里关心的是信息传播的真正影响(大多数时候,大多数粉丝不一定是最强大的粉丝)。
此外,我们还可以看到网络中不同的群体(如不同的爱好群体)和分布密度,这有助于我们从宏观角度分析整个数据样本中的关系。
基于社交网络的群体发现
可以说,网络挖掘在基本描述性统计方面已经走得更远,从关键节点的识别到群体发现,在某种程度上,我们可以找到许多从一般描述性分析中无法获得的深刻见解。
如何实现网络模型
网络挖掘无非是将问题抽象成网络模型进行分析,所以对于网络建模,我们主要想了解节点和边。对于节点的重要性,中心性是关键指标。对于节点之间的关系,传递性和相似性具有重要意义。
以及网络相似性度量:节点的度分布、聚类系数、平均路径长度等。
网络的节点和边缘
当然,更重要的是,当面临真实问题或数据时,如何将真实问题抽象成网络模型也称为问题形式化。
例如,对于不同的领域,我们通常可以构建这样的网络(顶点和边形成图)。
例如,我们有这样一个数据(堆栈溢出的用户技能数据),技能之间的相关权重由技能之间的链接值(例如c#和)来表示。net,它们之间的值是62.167,表明它们的相关性非常高)。
根据技能之间的关系,我们可以建立以下网络模型。你会看到这个网络很可怕,但是它实际上是用Networkx ( Python库)构建的,也就是说,几行代码。
通过这个网络模型,我们可以找到许多有趣的东西。例如,苹果的开发技能( iOS / Mac )被聚集在一起,Windows的开发被聚集在一起,Web开发也是如此。这是不同的社区。如果你有到这些社区的链接,那一定是一些相对普通的技能,比如Linux、Git、Python等。
当然,这仅仅是网络模型探索的开始,还有许多有趣的问题需要跟进(帮助我们找到更多知识并将其应用于不同的商业模型) :
链接预测(最短路径)关键节点挖掘(搜索权威节点)网络遍历(搜索和检索)社区发现(群组肖像)相似节点挖掘(相似性推荐)
网络挖掘的应用
网络挖掘在用户肖像、商品推荐、金融风险评估、城市交通优化、谣言信息传播等方面有着广泛的应用。加入网络模型后,许多不能很好地使用通用数据挖掘方法的企业可以大大改进。可以说,网络挖掘的应用阶段是无限广阔的...
页面排序
例如,Google的网页排名本身也是基于构建一个巨大的web模型(网页是节点,超链接是边),通过计算不同网页的中心度(权重)来对网页进行排名,从而实现更准确的搜索和推荐。
社会网络分析
社交网络自然适合构建网络模型进行分析,如信息传播预测、影响分析、社交群体发现、朋友推荐、用户肖像等。通过单独分析个人并在整个网络中观察他们,可以发现许多不同的东西。
推荐系统
传统的协同过滤算法的基本思想是向目标用户推荐用户喜欢的产品,这些产品与目标用户非常相似。添加网络模型(如朋友网络和商品网络)可以很大程度上解决多样性、冷启动和社交推荐的问题,从而提高某些场景中的推荐准确性。
知识地图
网络挖掘在知识地图中也发挥着重要作用,如遍历和路径搜索、关键节点挖掘等。PatientsLikeMe.com将病人、疾病、医院、医生、药品等医疗数据组织成知识地图。在地图上,医生可以搜索家庭病史网络,查询类似的病例和解决方案。患者可以搜索与疾病相关的情况、药品、医生、类似病例等。
因此,网络挖掘实际上加强了数据分析/挖掘的技能,并从一个新的角度探索了更全面、更宏观的网络知识和个人之间的关系。
领取专属 10元无门槛券
私享最新 技术干货