计算单个属性的相似关系
%%%%%%%%%%%%%compute relation matrices with a single attribute%%%%%%%%%
for i=1:column
col=i;
r=[];
eval(['ssr' num2str(col) '=[];']);
for j=1:row
a=data(j,col);
x=data(:,col);
for m=1:length(x)
r(j,m)=kersim_crisp(a,x(m),neighbor);
end
end
eval(['ssr' num2str(col) '=r;']);
end
kersim_crisp.m
function kersim=kersim_crisp(a,x,e)
if abs(a-x)>e
kersim=0;
else
kersim=1;
end
kersim
function kersim=kersim(a,x,e)
if abs(a-x)>e
kersim=0;
else
if (e==0)
if (a==x)
kersim=1;
else
kersim=0;
end
else
kersim=1-abs(a-x)/e;
end
end
该代码实现了一个循环,用于遍历数据矩阵的每一列,计算每一对元素在指定属性上的相似性。使用kersim_crisp函数,如果两个值的差的绝对值大于给定的阈值e,则相似度为0,否则为1。对于e等于0的情况,值完全相等时相似度为1。这个过程生成了表示相似性的矩阵。

被折叠的 条评论
为什么被折叠?



