📄 abalone.m
字号:
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 + -