⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fcmbreastcancer.m

📁 K-MEANS聚类算法
💻 M
字号:
clear;
clc;
tic;
load breastcancer.mat datavectorcancer;%%%载入数据集
% datavectorcancer1=breastCancer;
% [vectorsize,vectorlength]=size(datavectorcancer1);
% datavectorcancer=zeros(vectorsize,vectorlength);
% for i=1:vectorlength
%     if sum(datavectorcancer1(:,i))~=0
%         datavectorcancer(:,i)=(datavectorcancer1(:,i))/sum(datavectorcancer1(:,i));
%     end
% end

times=1;
while  times<=30
[center,U,obj_fcn] = fcm(datavectorcancer,2)
i=length(obj_fcn);
obj(times)=obj_fcn(i);
inter_distance=pdist(center);

maxU = max(U);
% Find the data points with highest grade of membership in cluster 1
num1= find(U(1,:) == maxU);
 % Find the data points with highest grade of membership in cluster 2
num2 = find(U(2,:) == maxU);

cluster_num1=length(num1);
cluster_num2=length(num2);


for i1=1:cluster_num1
    datavectorcancer1=datavectorcancer(num1(i1));
end
for i2=1:cluster_num2
    datavectorcancer2=datavectorcancer(num2(i2));
end

    X1=datavectorcancer1-ones(cluster_num1,1)*center(1,:);
    Y1_1=sqrt(sum((X1.^2)'));
    Y1(times)=sum(Y1_1);
    X2=datavectorcancer2-ones(cluster_num2,1)*center(2,:);
    Y2_2=sqrt(sum((X2.^2)'));
    Y2(times)=sum(Y2_2);
  
intra_distance(times)=(Y1(times)+Y2(times))/2;
 times=times+1;
end
obj=sum(obj)/(times-1);
inter=sum(inter_distance)/(times-1);
intra=sum(intra_distance)/(times-1);
obj
inter
intra
T=toc;
T

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -