fun_custo_nn.m

来自「Genetic Algorithm + Neural Network for c」· M 代码 · 共 53 行

M
53
字号
function Fit = fun_custo_nn(x,C)
z=1;
for i=1:length(x)
    if (x(i) == 1)
        caract(:,z)=C(:,i);
        z=z+1;
    end
end

benigno = C(:,(length(x)+1))==0;
normal = C(:,(length(x)+1))==1;

tipo = double([benigno normal]);                 % targets for neural network
caract = caract';
tipo = tipo';
rand('seed', 491218382);

net = newff(caract,tipo,23); % Create a new feed forward network
%net = newff(caract,tipo,20); % Create a new feed forward network

[net,tr] = train(net,caract,tipo);

testInputs = caract(:,tr.testInd);
testTargets = tipo(:,tr.testInd);

out = sim(net,testInputs);        % Get response from trained network

[y_out,I_out] = max(out);
[y_t,I_t] = max(testTargets);

diff = [I_t - 2*I_out];

f_f = length(find(diff==-2));     % Female crabs classified as Female
f_m = length(find(diff==-3));     % Female crabs classified as Male
m_m = length(find(diff==-1));     % Male crabs classified as Male
m_f = length(find(diff==0));      % Male crabs classified as Female

N = size(testInputs,2);               % Number of testing samples
fprintf('Total testing samples: %d\n', N);

cm = [f_f f_m; m_f m_m];           % classification matrix

%cm_p = (cm ./ N) .* 100;          % classification matrix in percentages

fprintf('Percentage Correct classification   : %f%%\n', 100*(cm(1,1)+cm(2,2))/N);
fprintf('Percentage Incorrect classification : %f%%\n', 100*(cm(1,2)+cm(2,1))/N);
Fit=(cm(1,2)+cm(2,1))/N;





⌨️ 快捷键说明

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