• 大小: 4.78MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-15
  • 语言: Matlab
  • 标签: matlab  

资源简介

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\Untitled2.m
     文件        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个文件信息

评论

共有 条评论