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

📄 abalone.m

📁 使用高斯模型对威斯康辛州大学医学院长期乳腺癌数据进行了贝叶斯模式识别。识别率为95以上
💻 M
📖 第 1 页 / 共 2 页
字号:
clear;
load data.mat

Total  = length(data(:,1));
VaribleNumber = length(data(1,:));
ClassNumber = 12;
SexNumber = 3;
Index = [1:Total];


[TestMatrix,TrainMatrix,TestIndex,TrainIndex] = SplitMatrixRandom(data);

for swap = 1:2
    if swap == 2
       tmpIndex = TrainIndex;
       TrainIndex = TestIndex;
       TestIndex = tmpIndex;
       tmpIndex = TrainMatrix;
       TrainMatrix = TestMatrix;
       TestMatrix = tmpIndex;
    end
    TrainNumber = length(TrainIndex);
    TestNumber = Total - TrainNumber;
    TrainAnswer = TrainMatrix(:,VaribleNumber);
    TrainClassIndex_1 = find((TrainAnswer-5).*(TrainAnswer-1) <= 0);
    TrainClassIndex_2 = find(TrainAnswer == 6);
    TrainClassIndex_3 = find(TrainAnswer == 7);
    TrainClassIndex_4 = find(TrainAnswer == 8);
    TrainClassIndex_5 = find(TrainAnswer == 9);
    TrainClassIndex_6 = find(TrainAnswer == 10);
    TrainClassIndex_7 = find(TrainAnswer == 11);
    TrainClassIndex_8 = find(TrainAnswer == 12);
    TrainClassIndex_9 = find(TrainAnswer == 13);
    TrainClassIndex_10 = find(TrainAnswer == 14);
    TrainClassIndex_11 = find((TrainAnswer-19).*(TrainAnswer-15) <= 0);
    TrainClassIndex_12 = find(TrainAnswer >= 20);

    Ppostsex = zeros(ClassNumber,3);
    Ppostsex(1,1) = sum(TrainMatrix(TrainClassIndex_1,1) == 0)/length(TrainClassIndex_1);
    Ppostsex(1,2) = sum(TrainMatrix(TrainClassIndex_1,1) == 1)/length(TrainClassIndex_1);
    Ppostsex(1,3) = sum(TrainMatrix(TrainClassIndex_1,1) == 2)/length(TrainClassIndex_1);
    Ppostsex(2,1) = sum(TrainMatrix(TrainClassIndex_2,1) == 0)/length(TrainClassIndex_2);
    Ppostsex(2,2) = sum(TrainMatrix(TrainClassIndex_2,1) == 1)/length(TrainClassIndex_2);
    Ppostsex(2,3) = sum(TrainMatrix(TrainClassIndex_2,1) == 2)/length(TrainClassIndex_2);
    Ppostsex(3,1) = sum(TrainMatrix(TrainClassIndex_3,1) == 0)/length(TrainClassIndex_3);
    Ppostsex(3,2) = sum(TrainMatrix(TrainClassIndex_3,1) == 1)/length(TrainClassIndex_3);
    Ppostsex(3,3) = sum(TrainMatrix(TrainClassIndex_3,1) == 2)/length(TrainClassIndex_3);
    Ppostsex(4,1) = sum(TrainMatrix(TrainClassIndex_4,1) == 0)/length(TrainClassIndex_4);
    Ppostsex(4,2) = sum(TrainMatrix(TrainClassIndex_4,1) == 1)/length(TrainClassIndex_4);
    Ppostsex(4,3) = sum(TrainMatrix(TrainClassIndex_4,1) == 2)/length(TrainClassIndex_4);
    Ppostsex(5,1) = sum(TrainMatrix(TrainClassIndex_5,1) == 0)/length(TrainClassIndex_5);
    Ppostsex(5,2) = sum(TrainMatrix(TrainClassIndex_5,1) == 1)/length(TrainClassIndex_5);
    Ppostsex(5,3) = sum(TrainMatrix(TrainClassIndex_5,1) == 2)/length(TrainClassIndex_5);
    Ppostsex(6,1) = sum(TrainMatrix(TrainClassIndex_6,1) == 0)/length(TrainClassIndex_6);
    Ppostsex(6,2) = sum(TrainMatrix(TrainClassIndex_6,1) == 1)/length(TrainClassIndex_6);
    Ppostsex(6,3) = sum(TrainMatrix(TrainClassIndex_6,1) == 2)/length(TrainClassIndex_6);
    Ppostsex(7,1) = sum(TrainMatrix(TrainClassIndex_7,1) == 0)/length(TrainClassIndex_7);
    Ppostsex(7,2) = sum(TrainMatrix(TrainClassIndex_7,1) == 1)/length(TrainClassIndex_7);
    Ppostsex(7,3) = sum(TrainMatrix(TrainClassIndex_7,1) == 2)/length(TrainClassIndex_7);
    Ppostsex(8,1) = sum(TrainMatrix(TrainClassIndex_8,1) == 0)/length(TrainClassIndex_8);
    Ppostsex(8,2) = sum(TrainMatrix(TrainClassIndex_8,1) == 1)/length(TrainClassIndex_8);
    Ppostsex(8,3) = sum(TrainMatrix(TrainClassIndex_8,1) == 2)/length(TrainClassIndex_8);
    Ppostsex(9,1) = sum(TrainMatrix(TrainClassIndex_9,1) == 0)/length(TrainClassIndex_9);
    Ppostsex(9,2) = sum(TrainMatrix(TrainClassIndex_9,1) == 1)/length(TrainClassIndex_9);
    Ppostsex(9,3) = sum(TrainMatrix(TrainClassIndex_9,1) == 2)/length(TrainClassIndex_9);
    Ppostsex(10,1) = sum(TrainMatrix(TrainClassIndex_10,1) == 0)/length(TrainClassIndex_10);
    Ppostsex(10,2) = sum(TrainMatrix(TrainClassIndex_10,1) == 1)/length(TrainClassIndex_10);
    Ppostsex(10,3) = sum(TrainMatrix(TrainClassIndex_10,1) == 2)/length(TrainClassIndex_10);
    Ppostsex(11,1) = sum(TrainMatrix(TrainClassIndex_11,1) == 0)/length(TrainClassIndex_11);
    Ppostsex(11,2) = sum(TrainMatrix(TrainClassIndex_11,1) == 1)/length(TrainClassIndex_11);
    Ppostsex(11,3) = sum(TrainMatrix(TrainClassIndex_11,1) == 2)/length(TrainClassIndex_11);
    Ppostsex(12,1) = sum(TrainMatrix(TrainClassIndex_12,1) == 0)/length(TrainClassIndex_12);
    Ppostsex(12,2) = sum(TrainMatrix(TrainClassIndex_12,1) == 1)/length(TrainClassIndex_12);
    Ppostsex(12,3) = sum(TrainMatrix(TrainClassIndex_12,1) == 2)/length(TrainClassIndex_12);

    Pw = zeros(ClassNumber,1);
    Pw(1,1) = length(TrainClassIndex_1)/length(TrainIndex);
    Pw(2,1) = length(TrainClassIndex_2)/length(TrainIndex);
    Pw(12,1) = length(TrainClassIndex_12)/length(TrainIndex);
    Pw(3,1) = length(TrainClassIndex_3)/length(TrainIndex);
    Pw(4,1) = length(TrainClassIndex_4)/length(TrainIndex);
    Pw(5,1) = length(TrainClassIndex_5)/length(TrainIndex);
    Pw(6,1) = length(TrainClassIndex_6)/length(TrainIndex);
    Pw(7,1) = length(TrainClassIndex_7)/length(TrainIndex);
    Pw(8,1) = length(TrainClassIndex_8)/length(TrainIndex);
    Pw(9,1) = length(TrainClassIndex_9)/length(TrainIndex);
    Pw(10,1) = length(TrainClassIndex_10)/length(TrainIndex);
    Pw(11,1) = length(TrainClassIndex_11)/length(TrainIndex);

    d = 7;
    section = [2 3 4 5 6 7 8];
    MeanMatrix_M = zeros(ClassNumber,d);
    MeanMatrix_F = zeros(ClassNumber,d);
    MeanMatrix_I = zeros(ClassNumber,d);
    ConvarianceMatrix_M = zeros(d,d,ClassNumber);
    ConvarianceMatrix_F = zeros(d,d,ClassNumber);
    ConvarianceMatrix_I = zeros(d,d,ClassNumber);

    FailGroup = ones(ClassNumber,3);
    SampleNumber = 8;

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

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

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

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

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

    tmp = TrainMatrix(TrainClassIndex_6,1:end-1);
    sextmp = tmp(find(tmp(:,1) == 0),section);
    if length(sextmp) < SampleNumber
        FailGroup(6,1) = 0;
    end

⌨️ 快捷键说明

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