在matlab下写了一个Apriori算法
源码
%apriori算法置信度2
clear
clc
data=[1,2,5,0;2,4,0,0;2,3,0,0;1,2,4,0;1,3,0,0;2,3,0,0;1,3,0,0;1,2,3,5;1,2,3,0];
[cur1,curl1]=apriori1(data);
[cur2,curl2]=apriori2(data);
[cur3,curl3]=apriori3(data);
s=size(cur3,1);
for i=1:s
A=cur3(i,:);
for j=1:size(A,2)
curA(j)=cur3(i,j);
end
n=1;
for j=1:size(A,2)
for k=j+1:size(A,2)
curB(n,1)=cur3(i,j);
curB(n,2)=cur3(i,k);
n=n+1;
end
end
disp(['第',num2str(i),'频繁项集']);cur3(i,:)
for m=1:size(curA,2)
a=curl3(i);
for j=1:size(cur1)
if(cur1(j)==curA(m))
b=curl1(j);
break;
end
end
disp(['I',num2str(curA(m)),':',num2str(a/b)]);
end
for m=1:size(curB,1)
a=curl3(i);
for j=1:size(cur2)
if(cur2(j,1)==curB(m,1) && cur2(j,2)==curB(m,2))
b=curl2(j);
break;
end
end
disp(['I',num2str(curB(m,1)),'I',num2str(curB(m,2)),':',num2str(a/b)]);
end
end
结果