标签:point 函数 最小 sqrt 区别 mat function 误差 创建
k -means聚类是一种分区方法。该函数kmeans
将数据分区为k个互斥集群,并返回它为每个观察分配的集群的索引。
与层次聚类不同,k -means聚类对实际观察(而不是较大的相异度度量集)进行操作,并创建单个级别的聚类。这些区别意味着k -means聚类通常比大量数据的层次聚类更合适。
使用方法:
Idx=Kmeans(X,K)
[Idx,C]=Kmeans(X,K)
[Idx,C,sumD]=Kmeans(X,K)
[Idx,C,sumD,D]=Kmeans(X,K)
[…]=Kmeans(…,’Param1’,Val1,’Param2’,Val2,…)
各输入输出参数介绍:
X :N*P的数据矩阵
K: 表示将X划分为几类,为整数
Idx :N*1的向量,存储的是每个点的聚类标号
C: K*P的矩阵,存储的是K个聚类质心位置
sumD 1*K的和向量,存储的是类间所有点与该类质心点距离之和
D:N*K的矩阵,存储的是每个点与所有质心的距离
C为点群的重心坐标
% 也可以用重心法求中心,不过weight加权会有误差
x=point(:,1)‘; y=point(:,2)‘; %转置处理
weight=1/n*ones(b,1); %权重初始化
f=@(var) sqrt((var(1)-x).^2+(var(2)-y).^2)*weight; %点距加权 最后算出val(1),val(2)位置
[var,fval]=ga(f,2); %遗传工具箱算出最小值
x0=var(1); y0=var(2); %赋值重心坐标
[matlab] 18.matlab自带kmeans函数的求点集的重心
标签:point 函数 最小 sqrt 区别 mat function 误差 创建
原文地址:https://www.cnblogs.com/clemente/p/9610189.html