资源简介
Apriori算法matlab代码实现,关联规则分析,带数据集和使用说明
代码片段和文件信息
function [fSNKIidxMIhatacc]=ap(argAiternumlam1diagonal1)
f=load(argA);
%label=load(argB);
N=size(f1);%N为初始矩阵的行数;
N2=size(f2)-1;%一个数据,属性的个数
N3 = N2+1;
S=zeros(NN);%N*N的相似度矩阵
%N2=N2-1;%注释去掉时最后一列类标号不参与计算
% for c=1:N
% for b=1:N
% sqe=0;
% if b~=c
% for a=1:N2
% sqe=sqe-(f(ca)-f(ba))^2;
% end
% end
% S(cb)=sqe;
% end
% end
for i = 1:N
A = f(i:);
for j = i:N
B = f(j:);
S(ij) = -norm(A-B)^2 ;
S(ji) = S(ij);
end
end
if diagonal1==1%1代表对角线为均值
%diagonal1=sum(sum(S))/(N^2)
diagonal1=mean(mean(S))
elseif diagonal1==2%2代表对角线为中值
X = [];
for i = 1:N
for j = 1:N2
X((i-1)*N2+j) = S(ij);
end
end
diagonal1 = min(X)*2.5
end
%产生对角矩阵
x=1:N;
p=diagonal1+x*0;
S=S+diag(p);
K = 0;
for i = 1:N
BM(i) = f(iN3);
end
if lam1==0%判断lam是否为空
lam=0.5;
else lam=lam1;
end
% Set damping factor
iter1=iternum;
if iternum==0%判断迭代次数值是否为空
iter1=100;
end
i=0;
length1=length(unique(BM))
while K ~=length(unique(BM))
A=zeros(NN); R=zeros(NN); % Initialize messages
S=S+(eps*S+realmin*100).*rand(NN); % Remove degeneracies
%i=i+1
for iter=1:iter1
% Compute responsibilities设置迭代次数
Rold=R;
AS=A+S; [YI]=max(AS[]2);
for i=1:N AS(iI(i))=-realmax; end;
[Y2I2]=max(AS[]2);
R=S-repmat(Y[1N]);
for i=1:N R(iI(i))=S(iI(i))-Y2(i); end;
R=(1-lam)*R+lam*Rold; % Dampen responsibilities
% Compute availabilities
Aold=A;
Rp=max(R0); for k=1:N Rp(kk)=R(kk); end;
A=repmat(sum(Rp1)[N1])-Rp;
dA=diag(A); A=min(A0); for k=1:N A(kk)=dA(k); end;
A=(1-lam)*A+lam*Aold; % Dampen availabilities
end;
E=R+A; % Pseudomarginals
I=find(diag(E)>0); K=length(I) % Indices of exemplars
[tmp c]=max(S(:I)[]2); idx=I(c); % Assignments
end
for i = 1:length(idx)
for j = 1:length(I)
AM(i)=find(I == idx(i));
end
end
%for i = 1:length(label)
% BM(i) = label(i);
%end
%A = [1 1 1 1 1 1 1 2 2 3 3 3];
%B = [2 2 1 2 2 1 2 3 3 1 2 1];
%A = [1 1 1 1 1 1 1 2 2 3 3 3];
%B = [1 1 3 1 1 3 1 2 2 3 1 3];
if(K ~= length(unique(BM)))
error(‘簇数错误‘);
end
if length( AM ) ~= length( BM)
error(‘length( A ) must == length( B)‘);
end
total = length(AM);
A_ids = unique(AM);
B_ids = unique(BM);
% Mutual information
MI = 0;
for idA = A_ids
for idB = B_ids
idAOccur = find( AM == idA );
idBOccur = find( BM == idB );
idABOccur = intersect(idAOccuridBOccur);
px = length(idAOccur)/total;
py = length(idBOccur)/total;
pxy = length(idABOccur)/total;
MI = MI + pxy*log2(pxy/(px*py)+eps); % eps : the smallest positive number
end
end
% Normalized Mutual information
Hx = 0; % Entropies
for idA = A_ids
idAOccurCou
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-10-06 10:40 AP\
目录 0 2015-10-06 10:40 AP\AP\
文件 1204 2015-07-03 13:34 AP\AP\APLX.m
文件 3965 2014-12-30 14:01 AP\AP\Hepatitis.csv
文件 1232 2015-07-03 10:35 AP\AP\Similarity.m
文件 42 2015-07-03 13:29 AP\AP\Unti
文件 7089 2015-07-03 16:28 AP\AP\User Knowledge Modeling.data
文件 3533 2015-10-06 15:58 AP\AP\ap.m
文件 2033 2015-07-03 16:15 AP\AP\ap2.m
文件 1571 2015-07-03 15:42 AP\AP\apNZH.m
目录 0 2015-10-06 10:40 AP\AP\ap函数及其说明\
文件 1877 2015-07-03 15:32 AP\AP\ap函数及其说明\ap.m
文件 617 2015-07-03 15:47 AP\AP\ap函数及其说明\ap函数说明.txt
文件 6875 2015-07-03 16:22 AP\AP\balance-scale.data
文件 30962 2014-02-23 10:10 AP\AP\cmc.data
文件 12228 2015-07-03 16:26 AP\AP\ecoli.data
文件 10021 2014-02-20 17:40 AP\AP\glass2.data
文件 61 2015-07-03 22:26 AP\AP\iris.csv
文件 2699 2015-07-03 15:03 AP\AP\iris.data
文件 2700 2015-07-03 10:26 AP\AP\iris.txt
文件 241913 2014-02-23 11:49 AP\AP\page-blocks.data
文件 9496 2013-09-11 21:39 AP\AP\seeds_dataset2.txt
文件 12726 2014-02-22 12:03 AP\AP\transfusion.data
文件 11304 2014-05-14 16:33 AP\AP\wine2.data
文件 63600 2015-07-03 16:31 AP\AP\yeast2.data
文件 126744 2015-07-05 10:10 AP\AP.zip
文件 1323274 2015-06-27 17:01 AP\FreyDueckScience07.pdf
文件 14336 2015-07-24 17:07 AP\Thumbs.db
文件 144258 2015-06-29 15:07 AP\ap.pptx
文件 1580544 2015-06-29 22:03 AP\ap算法.ppt
文件 1888851 2015-06-29 14:55 AP\整合版.docx
............此处省略1个文件信息
- 上一篇:gbvs 显著区域提取算法
- 下一篇:粗糙集属性约简matlab
评论
共有 条评论