tghk.net
当前位置:首页>>关于谁能帮我用MATLAB实现kmeans算法?的资料>>

谁能帮我用MATLAB实现kmeans算法?

data=input('请输入样本数据矩阵:'); m=size(data,1); n=size(data,2); counter=0; k=input('请输入聚类数目:'); whilek>m disp('您输入的聚类数目过大,请输入正确的 k 值'); k=input('请输入聚类数目:'); end if k==1 disp('聚类数目不能为...

1 http://www.oschina.net/code/snippet_176897_10239 2 至于你说要10维,画不了。另外,数据维数略高,十维数据用kmeans聚类效果不会好的。

首先给出原始数据{x1,x2,...,xn},这些数据没有被标记的。 初始化k个随机数据u1,u2,...,uk。这些xn和uk都是向量。 根据下面两个公式迭代就能求出最终所有的u,这些u就是最终所有类的中心位置。 公式一: 意思就是求出所有数据和初始化的随机数据...

[IDX,C,sumd] = kmeans(X,k) 其中X是只含数字部分的矩阵。k是要聚集的类数。

[Idx,C,sumD,D]=Kmeans(data,3,’dist’,’sqEuclidean’,’rep’,4) 等号右边: kmeans:K-均值聚类 data是你自己的输入数据 3 是你要聚成3类 dist sqEuclidean 这2个参数,表示距离函数为欧式距离。什么是欧式距离自己百度 ’rep’,4 聚类重复次数4次...

function [ labels ] = kmeans_clustering( data, k ) [num,~]=size(data); ind = randperm(num); ind = ind(1:k); centers = data(ind,:); d=inf; labels = nan(num,1); while d>0 labels0 = labels; dist = pdist2(data, centers); [~,labels]...

以MATLAB R2012b为例: 一、点击下图中红圈指示“Find Files”。 二、执行完步骤一,出现下图,先在红圈1中输入“kmeans”,再在红圈2中选择文件类型为“.m“,再在红圈3中选择搜索范围”Entire MATLAB path“,再点击红圈4中”Find“,然后就会出现红圈5...

IDX = kmeans(X,k) , 这个IDX就是X中每一个点所属的分类。例如, IDX = [2;1;3], 则X的第一个点在第2类里,第二个点在第1类,第三个点在第3类。 如果要存储,则用 CLASS1 = X(IDX==1); CLASS2 = X(IDX ==2); ...

% 可能是聚类后的图像数据不匹配,用如下代码试试 iidx = uint8(iidx);level = graythresh(iidx);imageout = im2bw(iidx,level);imshow(imageout);

没有问题! I = imread(('1.bmp)); [nrows,ncols]=size(I); I2 = double(I); II = I2(:); [idx, ctx]=kmeans(II,4); iidx = reshape(idx,nrows,ncols); imshow(I) figure,imshow(iidx,[]);

网站首页 | 网站地图
All rights reserved Powered by www.tghk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com