号外,最近公众号刚刚接入聊天机器人,由于没有充值每天只能对话1000句...目前可以讲段子、查天气、故事大全、测星座、斗图、菜谱、列车查询、附近饭店等功能。
SNA笔者是在R语言之前有学过一阵子。来稍微回顾一下关系网络点入度、点出度的大致结构。
.
1.点度中心度——triple_apply()
triple_apply是可以输入三个图元素并进行计算的函数,比较灵活。
从结果看到,deree就是每个顶点的总点度
.
2.点入度、点出度
degree_counting启动计算图计数函数,in_degree以及out_degree就是点入度以及点出度。
同时可以将点度、点入度以及点出度都放在顶点信息表之中:
.
3.pagerank——特征向量中心度
来看看最高的pagerank值的方式:
.
4.顶点近邻密度的指标——triangle_counting
衡量顶点近邻密度的指标,越高密度越大,价值越大。
跟点度还是挺像的,也跟pagerank一样,作为分析的一种指标。来看:
.
三、关系网络分析——社群发现
这里会介绍基于标签概率社群发现算法和K-core分解模型。在turicreate之中,两个算法有以下两个关键的擅长之处:
标签概率社群发现算法,有监督学习任务,用于监督性分类模型
K-core分解模型,无监督学习任务,用于聚类
.
1.LabelPropagationModel 基于标签概率社群发现算法主函数:
训练与预测的数据集都可以放在一块儿:
如果是需要预测的样本,可以用None的形式,放在数据集之中,然后通过模型训练,其会自动给出label(g.labels)
数据长这样:
其中模型就保存在m之中。其中m.labels 就是主要输出内容,可见:
可以观察到,对于label = none的其也会给出概率预测的情况。跟普通的机器学习是一样一样的。
所以,该内容可以跟ML一样,作为有监督训练的一种方式。
.
2、K-core decomposition k-core分解
Kitsak等人[1]第一次系统分析了这个问题。他们指出度和介数往往不能很精确描述一个节点的传播能力,而利用k-core分解,一个节点的核数更好刻画了节点的传播能力。 有点像层次聚类,一步一步删除附近的劣质线条。
主函数:
K值越高,网络越核心,k-core值越大表明子网络越处于核心的地位
如果指定了Kmax为20,就像聚类一样,会给每个ID一个标签值,可见:
领取专属 10元无门槛券
私享最新 技术干货