Escolar Documentos
Profissional Documentos
Cultura Documentos
No código abaixo foi realizado a normalização dos dados de entrada, colocando todos os atributos na mesma
escala entre [0, 1] e armazenados em dados normalizados. A proporçãode treinamento e teste foi definida em
70% e 30% respectivamente.
O algoritmo rodou 20 vezes conforme solicitado para ao fim apresentar o máximo, média, minimo e desvio
padrão das iterações.
1
for k = 1:numIterations
% Embaralhando os dados
idx = randperm(size(X, 1));
X_shuffled = X_norm(idx, :);
Y_shuffled = Y_numeric(idx);
Xtrain = [];
Xtest = [];
Ytrain = [];
Ytest = [];
for i = 1:numClasses
class_indices = find(Y_shuffled == i);
train_indices = class_indices(1:numTrainPerClass);
test_indices =
class_indices(numTrainPerClass+1:numTrainPerClass+numTestPerClass);
% Calculando a acurácia
accuracy = sum(Ypred == Ytest) / numel(Ytest);
accuracies(k) = accuracy;
end
2
Apresentar o máximo, média, mínimo e desvio padrão das iterações fornece informações valiosas sobre a
variabilidade do desempenho do modelo durante o processo de treinamento e avaliação.
% Apresentando os resultados
disp(['Mínimo: ', num2str(min(accuracies))]);
Mínimo: 0.86667
Máximo: 0.97778
Média: 0.92889
Matriz de Confusão:
disp(confusionMatrix);
15 0 0
0 14 1
0 2 13
3
4