📄 fcmbreastcancer.asv
字号:
clear;
clc;
load breastCancer.txt;
datavector=iris;
datavector(:,5)=[];
times=1;
while times<=150
[center,U,obj_fcn] = fcm(datavector,3)
i=length(obj_fcn);
obj(times)=obj_fcn(i);
inter_distance1=pdist(center);
inter_distance(times)=sum(inter_distance1)/3;
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);
num3 = find(U(3,:) == maxU);
cluster_num1=length(num1);
cluster_num2=length(num2);
cluster_num3=length(num3);
for i1=1:cluster_num1
datavector1=datavector(num1(i1));
end
for i2=1:cluster_num2
datavector2=datavector(num2(i2));
end
for i3=1:cluster_num3
datavector3=datavector(num3(i3));
end
X1=datavector1-ones(cluster_num1,1)*center(1,:);
Y1_1=sqrt(sum((X1.^2)'));
Y1(times)=sum(Y1_1);
Y1=X1.^2;
X2=datavector2-ones(cluster_num2,1)*center(2,:);
Y2_2=sqrt(sum((X2.^2)'));
Y2(times)=sum(Y2_2);
X3=datavector3-ones(cluster_num3,1)*center(3,:);
Y3_3=sqrt(sum((X3.^2)'));
Y3(times)=sum(Y3_3);
intra_distance(times)=(Y1(times)+Y2(times)+Y3(times))/3;
times=times+1;
end
obj=sum(obj)/(times-1);
inter=sum(inter_distance)/(times-1);
intra=sum(intra_distance)/(times-1);
obj
inter
intra
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -