资源简介

压缩包里有三个matlab程序,分别是K-mean聚类、LVQ聚类和混合高斯聚类,数据为两类二维高斯分布的随机点。程序展示了三种聚类算法的基本使用方法。算法原理可以参考周志华《机器学习》的第九章聚类。

资源截图

代码片段和文件信息

%%聚类算法测试

%%
%%生成数据集
clear
close all
mu = [2 3];
SIGMA = [1 0; 0 2];
n1 = 100;
r = mvnrnd(muSIGMAn1);
plot(r(:1)r(:2)‘r+‘);
hold on;
mu = [5 6];
SIGMA = [ 1 0; 0 2];
n2 = 100;
r2 = mvnrnd(muSIGMAn2);
plot(r2(:1)r2(:2)‘*‘)
title(‘original data‘)
N = n1 + n2;
data = [r;r2];
k = randperm(200);
data = data(k:);
%%
%%K-mean算法
C = 2;
nu = zeros(C2);
lamda = zeros(NC);
for i = 1:C
    nu(i:) = data(randi(n11):);
end
R = 100;
while(R)
    for i = 1:C
        lamda(:i) = sqrt(sum((data - nu(i:)).^22));
    end
    [~ index] = min(lamda.‘);
    for i = 1:C
        nu(i:) = mean(data(index == i:));
    end
    R = R - 1;
end
C1 = data(index == 1:);
C2 = data(index == 2:);
figure(2)
plot(C1(:1)C1(:2)‘r+‘);
hold on;
plot(C2(:1)C2(:2)‘*‘)
title(‘k-mean cluster‘)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1140  2018-08-17 08:32  LVQ_cluster.m
     文件        1741  2018-08-17 09:21  mixture_of_gaussian_cluster.m
     文件         852  2018-08-16 21:18  K_mean_cluster_test.m

评论

共有 条评论