Data Mining:图聚类(Graph clustering)

Betweenness Centrality (from wikipedia)

图论中,介数中心性(英語:Betweenness Centrality)是基于最短路径针对网络图中心性的衡量标准之一。针对全连接网络图,其中任意两个节点均至少存在一个最短路径,在无权重网络图中该最短路径是路径包含边的数量求和,加权网络图中该最短路径则是路径包含边的权重求和。每个节点的介数中心性即为这些最短路径穿过该节点的次数。

Girvan-Newman algorithm (格里-纽曼算法)

1. 首先计算网络中所有现有边的介数。
2. 具有最高介数的边被去除。
3. 重新计算所有受移除影响的边的介数。
4. 重复步骤 2 和 3,直到所有的边都计算完。

Girvan-Newman example

1. 遍历所有边的介数,4-6,4-7这两条边的介数为10,移除4-6,重复计算所有受移除影响的边的介数 

 2.这里4-7的介数最大,那么就将这条边移除4-7。

3. 移除之后我们可以看到,原来的一个图类变成了两个簇。然后重新计算图中的介数。

4. 最后一直迭代,可以得到以下簇分布。

Modularity(模块化)

模块化是衡量网络或图结构的度量,它衡量将网络划分为模块(也称为组、集群或社区)的强度。模块化程度高的网络,模块内节点间连接密集,不同模块间节点间连接稀疏。模块化通常用于检测网络中社区结构的优化方法。然而,已经表明模块化受到分辨率限制,因此无法检测小社区。包括动物大脑在内的生物网络表现出高度的模块化。下面是模块化计算的公式。

Q= \frac{1}{2m} \sum_{i,j}(a_{ij}-\frac{k_ik_j}{2m})\delta (\gamma_i,\gamma_j)

参数       定义
m图中边的数量
i,j节点标识
a_{ij}如果节点 i 和节点 j 是相连的,那么a_{ij} = 1, otherwise\ a_{ij} = 0
k_i表示节点 i 的度(degree)
\delta (a,b)如果 a = b, value = 1, otherwise 0.
\gamma_icommunity (社区|簇)标识

Modularity计算示例

Louvain Algorithm

该算法的核心思想很简单:

  1. 将图中所有的节点都看作一个个独立的社区,最开始社区的数目与节点的个数相同

  2. 对于节点 i ,依次分配到其他社区,并计算分配前和分配后的模块度(modularity)\Delta Q ,并记录最大的邻居节点,如果该值大于0,那么就将节点i分配到邻居节点所在的社区,否则保持不变。

  3. 重复2,直到所有节点的所属社区不再变化

  4. 得到的新的社区,可以进行图压缩,通俗地讲就是将同一社区节点压缩成一个新的节点,同时记录社区内节点之间的边的权重当作新节点的边的权重,社区间的边权重转化为新节点的度。

  5. 重复步骤1,直到整个图的模块度不再发生变化。

下面给出一个示例:

1. 每个节点扫一遍,对相邻的节点计算模块度,如果变化的模块度大于原先的模块度,则加入到新社区。

 2. 压缩图,合并所有的社区,并计算内部的度,和其他社区连接的边数。

 3. 扫第二轮,重复以上步骤

 

 4. 扫第三轮,不做变化,得到最后的社区簇。

 

 

 

 

 

 

 

 

 

 

 

 

### 如何在Blender中导入或打开PMX文件 为了成功地在Blender中处理PMX文件,需要安装专门用于此目的的插件——`mmd_tools`。该工具允许用户不仅能够加载来自MikuMikuDance (MMD) 的模型和动画数据,还提供了修复模式(Fix Mode),以便更好地兼容其他软件环境下的应用。 #### 安装 `mmd_tools` 由于较高版本的Blender可能暂时不支持最新版的`mmd_tools`,建议使用稳定的支持版本如Blender 3.6来操作[^4]。具体步骤如下: 1. 访问[mmd_tools GitHub页面](https://github.com/powroupi/blender_mmd_tools)下载适用于当前使用的Blender版本的插件; 2. 打开Blender,在编辑器顶部菜单栏依次选择“编辑(Edit)” -> “偏好设置(Preferences...)”,切换至“附加组件:Add-ons”标签页; 3. 点击“安装...”按钮浏览本地磁盘找到刚才下载好的`.zip`压缩包完成安装过程; #### 导入 PMX 文件 一旦确认`mmd_tools`已经正确安装并启用,则可以通过以下方式导入PMX文件: - 在Blender内新建项目或者打开已有场景; - 转到左侧工具架中的`mmd_tools`面板,点击“Import Model”选项卡; - 浏览计算机上的目标路径选取想要导入的PMX文件; - 如果遇到任何问题可以尝试调整一些参数设定比如骨骼映射(Bone Mapping)等以提高兼容性[^1]。 对于希望进一步修改所导入模型的动作或是面部表情的情况,还可以利用`mmd_tools`提供的功能来进行相应的定制化工作[^3]。 ```python import bpy from mmd_tools import operators bpy.ops.mmd_tools.import_model(filepath="path/to/your/model.pmx") ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值