K-modes算法 matlab实现
更新时间:2023-12-01 12:29:01 阅读量: 教育文库 文档下载
- k-modes算法的应用推荐度:
- 相关推荐
function [ resultLabel ] = Kmodes( k,dataSet) %KMODES Summary of this function goes here % Detailed explanation goes here % ----输入参数介绍---- % k 聚类簇数
% dataSet 输入数据矩阵(最后一列为类标签) % ----输出参数介绍----
% resultLabel 聚类后的类标签
dataS=dataSet(:,1:(size(dataSet,2)-1)); [row column]=size(dataS); %存放每次迭代的目标函数 objValueVector=[]; %循环次数
iteratorNum=0;
%随机选取k个数 r=randperm(row); ran=r(1:k) t1=clock; IC=ran
%进行第一次划分
resultLabel=zeros(row,1); for i=1:row
data1=dataS(i,:);
selectCluster=zeros(1,k); for j=1:k
data2=dataS(IC(j),:);
selectCluster(1,j)=calculateDis(data1,data2);
end
[minx tlabel]=min(selectCluster);
resultLabel(i,1)=tlabel end
%更新中心点,进行下一次划分,直到目标函数收敛 while(true)
iteratorNum=iteratorNum+1;
newcenter=updataCenters(k,resultLabel,dataS);
for i=1:row
data1=dataS(i,:);
selectCluster=zeros(1,k); for j=1:k
data2=newcenter(j,:);
selectCluster(1,j)=calculateDis(data1,data2);
end
[minx tlabel]=min(selectCluster); resultLabel(i,1)=tlabel; end
objValue=calculateObjectFunction(k,resultLabel,dataS,newcenter);
if((size(objValueVector,2)>0)&&(objValue==objValueVector(1,size(objValueVector,2)))); break; end
objValueVector=[objValueVector objValue]; end
t2=clock;
time=etime(t2,t1)
iterNum=iteratorNum
%计算两个数据之间的相异度
function [dis]=calculateDis(p1,p2) dis=0;
for ii=1:size(p1,2)
if(p1(1,ii)~=p2(1,ii)) dis=dis+1; end end end
%更新中心点 function
[newCenters]=updataCenters(k,resultLabel,data)
newCenters=zeros(k,size(data,2)); for ii=1:k
tempData=[];
for jj=1:size(resultLabel,1) if(resultLabel(jj,1)==ii)
tempData=[tempData;data(jj,:)]; end end
newCenters(ii,:)=mode(tempData); end end
%计算K-modes目标函数值 function
[functionValue]=calculateObjectFunction(k,resultLabel,data,center) functionValue=0; for ii=1:k
centerData=center(ii,:); for jj=1:size(data,1)
if(resultLabel(jj,1)==ii) originalData=data(jj,:); functionValue=functionValue+calculateDis(centerData,originalData); end end end end end
正在阅读:
K-modes算法 matlab实现12-01
性别意识在妇女就业立法中的纳入08-10
党政领导干部公开选拔笔试题案例额分析及答案(2012)09-29
北师大版七年级数学上册第一次月考试题含答案 (3)04-07
小学英语辅导网小学英语教案04-14
五年级第二教材04-25
3d打印可行性研究报告12-04
二级斜齿齿轮圆柱减速器机械设计计算说明书07-02
会计职业生涯规划书优秀5篇03-27
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 算法
- 实现
- matlab
- modes
- 供电工程收费标准
- 第7章 氧化还原反应 电化学基础
- 社保网上办事简易操作手册 - 图文
- 人教版六年级数学下册《第四单元达标测试卷》(附答案)
- 东海县特色小镇投资建设研究报告(目录) - 图文
- 大学物理 讲题 课件 动量
- 芯模施工方案- 副本
- 兰州大学2000-2006年西方经济学考研试卷
- 高年级说明文阅读与答案
- 新疆在民族团结工作中存在的问题及建议
- 网络层(练习与答案)
- 温州市园林绿化管理行业企业名录2018版240家 - 图文
- 时代光华《仓储盘点管理》课后测试答案
- 人教版小学六年级数学上册期末复习测试题
- 2015苏教版四年级下册音乐教案(1)
- 苏教版四年级上册数学期末复习全册单元知识点总结 - 图文
- 第一章货币与货币制度
- 施工临时用电方案计算书 -
- 小学六年级信息技术教案全集
- mpacc案例大赛初赛案例分析,NE汽车公司