• 大小: 35KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-18
  • 语言: 其他
  • 标签: matlab  聚类  

资源简介

自己编程写的两个小示例,具体的图压缩包里有,具体的聚类结果在cluster_Table矩阵中显示,图中有七个点,行代表有几个类,列上打“1”的代表该列号对应的点属于该行号所代表的的类,亲测可运行哦

资源截图

代码片段和文件信息

clear all
clc
data=xlsread(‘FriendTies.xlsx‘‘Sheet1‘‘A1:B20‘);
m=max(max(data));
Friend=zeros(m);
for i=[1:1:size(data1)]
    Friend(data(i1)data(i2))=1;
end
%无权重的图聚类-马尔科夫聚类实例
Friend=Friend+diag(ones(1m));
e=2;
r=2;
iter=2000;%理论上,当前后两次状态矩阵一致时,即停止迭代
%Expansion操作,inflation操作
k=1;
while k<=iter
    Friend=(Friend^e).^r;
    for i=[1:1:m]
        Friend(:i)=Friend(:i)/sum(Friend(:i));
    end
    if k==1
        Friend_last=Friend;
    else
        if Friend_last(::)==Friend(::)
            iter_times=k;%当状态矩阵收敛时,记录此时的迭代次数
            break;
        else
            Friend_last=Friend;
        end
    end
    k=k+1;
end
%计算去除重复列的列数
Friend_unique=unique(Friend‘‘rows‘)‘;
N=size(Friend_unique2);
%进行归类
cluster_table=zeros(Nm);
for j=[1:1:m]
    for k=[1:1:N]
        if Friend(:j)==Friend_unique(:k)
            cluster_table(kj)=1;
        end
    end
end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件       12600  2020-08-24 21:42  有权重的连接图.png
     文件       10227  2020-08-24 21:31  无权重连接图.png
     文件        1116  2020-08-24 20:40  markov_clustering_weighted.m
     文件         996  2020-08-24 20:37  markov_clustering_unweighted.m
     文件        9389  2020-08-24 20:34  FriendTable.xlsx
     文件        9304  2020-08-24 18:56  FriendTies.xlsx

评论

共有 条评论