⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abalone.m

📁 使用高斯模型对威斯康辛州大学医学院长期乳腺癌数据进行了贝叶斯模式识别。识别率为95以上
💻 M
📖 第 1 页 / 共 2 页
字号:
    MeanMatrix_M(6,:) = mean(sextmp);
    ConvarianceMatrix_M(:,:,6) = cov(sextmp);
    sextmp = tmp(find(tmp(:,1) == 1),section);
    if length(sextmp) < SampleNumber
        FailGroup(6,2) = 0;
    end
    MeanMatrix_F(6,:) = mean(sextmp);
    ConvarianceMatrix_F(:,:,6) = cov(sextmp);
    sextmp = tmp(find(tmp(:,1) == 2),section);
    if length(sextmp) < SampleNumber
        FailGroup(6,3) = 0;
    end
    MeanMatrix_I(6,:) = mean(sextmp);
    ConvarianceMatrix_I(:,:,6) = cov(sextmp);

    tmp = TrainMatrix(TrainClassIndex_7,1:end-1);
    sextmp = tmp(find(tmp(:,1) == 0),section);
    if length(sextmp) < SampleNumber
        FailGroup(7,1) = 0;
    end
    MeanMatrix_M(7,:) = mean(sextmp);
    ConvarianceMatrix_M(:,:,7) = cov(sextmp);
    sextmp = tmp(find(tmp(:,1) == 1),section);
    if length(sextmp) < SampleNumber
        FailGroup(7,2) = 0;
    end
    MeanMatrix_F(7,:) = mean(sextmp);
    ConvarianceMatrix_F(:,:,7) = cov(sextmp);
    sextmp = tmp(find(tmp(:,1) == 2),section);
    if length(sextmp) < SampleNumber
        FailGroup(7,3) = 0;
    end
    MeanMatrix_I(7,:) = mean(sextmp);
    ConvarianceMatrix_I(:,:,7) = cov(sextmp);

    tmp = TrainMatrix(TrainClassIndex_8,1:end-1);
    sextmp = tmp(find(tmp(:,1) == 0),section);
    if length(sextmp) < SampleNumber
        FailGroup(8,1) = 0;
    end
    MeanMatrix_M(8,:) = mean(sextmp);
    ConvarianceMatrix_M(:,:,8) = cov(sextmp);
    sextmp = tmp(find(tmp(:,1) == 1),section);
    if length(sextmp) < SampleNumber
        FailGroup(8,2) = 0;
    end
    MeanMatrix_F(8,:) = mean(sextmp);
    ConvarianceMatrix_F(:,:,8) = cov(sextmp);
    sextmp = tmp(find(tmp(:,1) == 2),section);
    if length(sextmp) < SampleNumber
        FailGroup(8,3) = 0;
    end
    MeanMatrix_I(8,:) = mean(sextmp);
    ConvarianceMatrix_I(:,:,8) = cov(sextmp);

    tmp = TrainMatrix(TrainClassIndex_9,1:end-1);
    sextmp = tmp(find(tmp(:,1) == 0),section);
    if length(sextmp) < SampleNumber
        FailGroup(9,1) = 0;
    end
    MeanMatrix_M(9,:) = mean(sextmp);
    ConvarianceMatrix_M(:,:,9) = cov(sextmp);
    sextmp = tmp(find(tmp(:,1) == 1),section);
    if length(sextmp) < SampleNumber
        FailGroup(9,2) = 0;
    end
    MeanMatrix_F(9,:) = mean(sextmp);
    ConvarianceMatrix_F(:,:,9) = cov(sextmp);
    sextmp = tmp(find(tmp(:,1) == 2),section);
    if length(sextmp) < SampleNumber
        FailGroup(9,3) = 0;
    end
    MeanMatrix_I(9,:) = mean(sextmp);
    ConvarianceMatrix_I(:,:,9) = cov(sextmp);

    tmp = TrainMatrix(TrainClassIndex_10,1:end-1);
    sextmp = tmp(find(tmp(:,1) == 0),section);
    if length(sextmp) < SampleNumber
        FailGroup(10,1) = 0;
    end
    MeanMatrix_M(10,:) = mean(sextmp);
    ConvarianceMatrix_M(:,:,10) = cov(sextmp);
    sextmp = tmp(find(tmp(:,1) == 1),section);
    if length(sextmp) < SampleNumber
        FailGroup(10,2) = 0;
    end
    MeanMatrix_F(10,:) = mean(sextmp);
    ConvarianceMatrix_F(:,:,10) = cov(sextmp);
    sextmp = tmp(find(tmp(:,1) == 2),section);
    if length(sextmp) < SampleNumber
        FailGroup(10,3) = 0;
    end
    MeanMatrix_I(10,:) = mean(sextmp);
    ConvarianceMatrix_I(:,:,10) = cov(sextmp);

    tmp = TrainMatrix(TrainClassIndex_11,1:end-1);
    sextmp = tmp(find(tmp(:,1) == 0),section);
    if length(sextmp) < SampleNumber
        FailGroup(11,1) = 0;
    end
    MeanMatrix_M(11,:) = mean(sextmp);
    ConvarianceMatrix_M(:,:,11) = cov(sextmp);
    sextmp = tmp(find(tmp(:,1) == 1),section);
    if length(sextmp) < SampleNumber
        FailGroup(11,2) = 0;
    end
    MeanMatrix_F(11,:) = mean(sextmp);
    ConvarianceMatrix_F(:,:,11) = cov(sextmp);
    sextmp = tmp(find(tmp(:,1) == 2),section);
    if length(sextmp) < SampleNumber
        FailGroup(11,3) = 0;
    end
    MeanMatrix_I(11,:) = mean(sextmp);
    ConvarianceMatrix_I(:,:,11) = cov(sextmp);

    tmp = TrainMatrix(TrainClassIndex_12,1:end-1);
    sextmp = tmp(find(tmp(:,1) == 0),section);
    if length(sextmp) < SampleNumber
        FailGroup(12,1) = 0;
    end
    MeanMatrix_M(12,:) = mean(sextmp);
    ConvarianceMatrix_M(:,:,12) = cov(sextmp);
    sextmp = tmp(find(tmp(:,1) == 1),section);
    if length(sextmp) < SampleNumber
        FailGroup(12,2) = 0;
    end
    MeanMatrix_F(12,:) = mean(sextmp);
    ConvarianceMatrix_F(:,:,12) = cov(sextmp);
    sextmp = tmp(find(tmp(:,1) == 2),section);
    if length(sextmp) < SampleNumber
        FailGroup(12,3) = 0;
    end
    MeanMatrix_I(12,:) = mean(sextmp);
    ConvarianceMatrix_I(:,:,12) = cov(sextmp);

    %zero-one loss function
    TestCondition = zeros(TestNumber,ClassNumber);
    inv_ConvarianceMatrix_M = zeros(d,d,ClassNumber);
    det_ConvarianceMatrix_M = zeros(1,ClassNumber);
    inv_ConvarianceMatrix_F = zeros(d,d,ClassNumber);
    det_ConvarianceMatrix_F = zeros(1,ClassNumber);
    inv_ConvarianceMatrix_I = zeros(d,d,ClassNumber);
    det_ConvarianceMatrix_I = zeros(1,ClassNumber);
    for i = 1:ClassNumber
        inv_ConvarianceMatrix_M(:,:,i) = inv(ConvarianceMatrix_M(:,:,i));
        det_ConvarianceMatrix_M(:,i) = sqrt(abs(det(ConvarianceMatrix_M(:,:,i))));
        inv_ConvarianceMatrix_F(:,:,i) = inv(ConvarianceMatrix_F(:,:,i));
        det_ConvarianceMatrix_F(:,i) = sqrt(abs(det(ConvarianceMatrix_F(:,:,i))));
        inv_ConvarianceMatrix_I(:,:,i) = inv(ConvarianceMatrix_I(:,:,i));
        det_ConvarianceMatrix_I(:,i) = sqrt(abs(det(ConvarianceMatrix_I(:,:,i))));
    end

    pi2 = (2*pi)^(d/2);
    Final = zeros(3,1);
    for i = 1:TestNumber
        for j = 1:ClassNumber
            if (FailGroup(j,1) == 0)
                Final(1,1) = 0;
            else
                Final(1,1) = exp(-.5*(TestMatrix(i,section)-MeanMatrix_M(j,:))*inv_ConvarianceMatrix_M(:,:,j)*(TestMatrix(i,section)-MeanMatrix_M(j,:))')/pi2/det_ConvarianceMatrix_M(1,j)*Pw(j,1)*Ppostsex(j,1);
            end
            if (FailGroup(j,2) == 0)
                Final(2,1) = 0;
            else
                Final(2,1) = exp(-.5*(TestMatrix(i,section)-MeanMatrix_F(j,:))*inv_ConvarianceMatrix_F(:,:,j)*(TestMatrix(i,section)-MeanMatrix_F(j,:))')/pi2/det_ConvarianceMatrix_F(1,j)*Pw(j,1)*Ppostsex(j,2);
            end 
            if (FailGroup(j,3) == 0)
                Final(3,1) = 0;
            else
                Final(3,1) = exp(-.5*(TestMatrix(i,section)-MeanMatrix_I(j,:))*inv_ConvarianceMatrix_I(:,:,j)*(TestMatrix(i,section)-MeanMatrix_I(j,:))')/pi2/det_ConvarianceMatrix_I(1,j)*Pw(j,1)*Ppostsex(j,3);
            end
            TestCondition(i,j) = Final(1,1)+Final(2,1)+Final(3,1);
        end
    end

    TestAnswer = data(TestIndex,VaribleNumber);
    TestAnswer(find((TestAnswer-5).*(TestAnswer-1) <= 0)) = 1;
    TestAnswer(find(TestAnswer == 6)) = 2;
    TestAnswer(find(TestAnswer == 7)) = 3;
    TestAnswer(find(TestAnswer == 8)) = 4;
    TestAnswer(find(TestAnswer == 9)) = 5;
    TestAnswer(find(TestAnswer == 10)) = 6;
    TestAnswer(find(TestAnswer == 11)) = 7;
    TestAnswer(find(TestAnswer == 12)) = 8;
    TestAnswer(find(TestAnswer == 13)) = 9;
    TestAnswer(find(TestAnswer == 14)) = 10;
    TestAnswer(find((TestAnswer-19).*(TestAnswer-15) <= 0)) = 11;
    TestAnswer(find(TestAnswer >= 20)) = 12;

    %TestCondition(find(TestCondition == inf)) = 0;
    %TestCondition(find(TestCondition == nan)) = 0;
    [max2, Result] = max(TestCondition');
    Result = Result';
    ConfusionMatrix =zeros(ClassNumber,ClassNumber);
    for i = 1:ClassNumber
        for j = 1:ClassNumber
            ConfusionMatrix(i,j) = sum( and((TestAnswer == i) ,(Result == j)));
        end
    end
    ConfusionMatrix
    performance = sum((Result == TestAnswer)) / TestNumber
end

%%%%%%%%%%%%%%%%%%%%

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -