clc
clear
close all 

% Load the data set
path_data='C:\Users\m.bennasar\Downloads\breast-cancer-wisconsin (1)';
T = readtable(path_data);
Data_set = table2array(T); % convert table to array 
[m,n]=size(Data_set);

%% Cross Validation 
folds=5;
cp = classperf(Data_set(:,n));
indices = crossvalind('Kfold',Data_set(:,n),folds);
Predicted_Class= zeros(m,1);
for i = 1:folds
       
       test = (indices == i); train = ~test;
      % WeightsSVM=Weights(train);
%         train=ones(m,1); test=zeros(m,1);
%          test(i)=1;train(i)=0;
        X=Data_set(train,1:n-1);
        Testfeatures=Data_set(test,1:n-1);
        Y=Data_set(logical(train),n);
        
        nb=fitcnb(X,Y);
    % Predicting the testing data
    Predicted_ac_NB =predict(nb,Testfeatures);
    Predicted_Class(test)=Predicted_ac_NB;
          classperf(cp,Predicted_ac_NB,test);
end
%% Evaluation 
Accuracy=cp.CorrectRate; 
PositivePredictiveValue=cp.PositivePredictiveValue; 
NegativePredictiveValue=cp.NegativePredictiveValue;
figure
cm = confusionchart(Data_set(:,n),Predicted_Class(:),'Title','NB', ...
    'RowSummary','row-normalized', ...
    'ColumnSummary','column-normalized');

