资源简介
K-means算法的Matlab实现,内含经典Iris数据集,需要下载者将其转化为矩阵,作为算法的参数输入。
代码片段和文件信息
function result=K_means(datakinitset)
[rowscolumns]=size(data);%获取数据的行列
for i=1:k
data(initset(i)columns+1)=i;%初始聚簇代表确定
oldClusetCenter(i:)=data(initset(i)1:columns);
oldClusterRows{i}=initset(i);%初始第i簇的行号
end
%结束标记
flag=1;
%迭代次数
iteratenum=0;
while(flag==1)
iteratenum=iteratenum+1;
fprintf(‘-第%d次迭代:\n‘iteratenum);
flag=0;
%计算欧几里得距离,划分簇
for ii=1:rows
for jj=1:k
res=(data(ii1:columns)-oldClusetCenter(jj:)).*(data(ii1:columns)-oldClusetCenter(jj:));
dist(jj)=sqrt(sum(res));%dist矩阵存放欧几里得距离
end
data(iicolumns+1)=find(dist==min(dist));%最小欧几里得距离,划分簇
dist(1:k)=0;%距离置零
end
%计算新的聚簇代表
for cluster=1:k
newClusterRows{cluster}=find(data(:columns+1)==cluster);%用cell来存储第k簇的行号,不能用数组
newClusetCenter(cluster:)=mean(data(newClusterRows{cluster}1:columns));
if (all(ismember(newClusterRows{cluster}oldClusterRows{cluster}))&&all(ismember(oldClusterRows{cluster}newClusterRows{cluster})))~=1%判断每一簇的行号是否发生变化
oldClusterRows{cluster}=newClusterRows{cluster};
oldClusetCenter(cluster:)=newClusetCenter(cluster:);
flag=1;
end
fprintf(‘-----第%d簇的聚簇代表坐标为:\n‘cluster);
disp(newClusetCenter(cluster:));
fprintf(‘--------在本簇的元组行号为:\n‘);
disp(newClusterRows{cluster}‘);
end
end
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1679 2018-03-12 15:10 K_means.m
文件 4700 2018-03-12 16:05 Iris数据集.txt
----------- --------- ---------- ----- ----
6379 2
相关资源
- MATLAB 对iris数据集进行PCA
- K均值聚类算法,图像处理,GUI,mat
- facebook数据集
- 基于MATLAB的数据挖掘实验
- 基于K-means算法的遥感图像分类的mat
- 基于Matlab实现的图像分割的常用算法
- 路标识别与提取采用聚类方法C-means
- 经济预测方法及MATLAB实现
- MATLAB神经网络43个案例分析源码
- foodmart 2000
- MATLAB数据分析与挖掘实战pdf完整版
- 模式识别 改进的K-Means++算法 实现模式
- 实战大数据 MATLAB数据挖掘详解与实践
- 配套程序和数据_量化投资-MATLAB数据挖
- 量化投资 数据挖掘技术与实践 MATL
- 课程设计时用的数据挖掘论文
- k-means聚类MATLAB的基本代码
- k-means数据聚类实验报告 MATLAB详细代码
- k-means聚类分析
- k-means和meanshift在图像聚类分割中的对
- K-means算法的Matlab实现代码使用文档
- Matlab实现K-Means算法
- K-mean聚类、LVQ聚类和混合高斯聚类的
- K-means应用于图像处理matlab程序
- 基于聚类的路标检测K-meansMATLAB(RGB)
- 基于信息熵的粗糙集属性约简MATLAB程
- matlab 云模型发生器 包括基本云发生器
- ID3的MATLAB实现244799
- K-means聚类程序
- k-means离群点剔除法matlab代码
评论
共有 条评论