Untitled
Guest 87 29th Apr, 2024
% Wczytanie danych
filename = 'ścieżka_do_pliku/iris.data';
opts = delimitedTextImportOptions("NumVariables", 5, ...
"DataLines", [1, Inf], ...
"Delimiter", ",", ...
"VariableTypes", ["double", "double", "double", "double", "categorical"], ...
"VariableNames", ["sepal_length", "sepal_width", "petal_length", "petal_width", "species"]);
irisData = readtable(filename, opts);
% Konwersja etykiet gatunków na liczby
irisData.species = grp2idx(irisData.species);
% Podział danych na cechy i etykiety
inputData = irisData(:, 1:4);
outputData = irisData.species;% Wyświetlenie pierwszych kilku wierszy danych
head(irisData)
% Podział danych
cv = cvpartition(size(inputData,1),'HoldOut',0.3);
idx = cv.test;
% Zbiór uczący
trainInput = inputData(~idx,:);
trainOutput = outputData(~idx,:);
% Zbiór testowy
testInput = inputData(idx,:);
testOutput = outputData(idx,:);
% Przygotowanie danych dla ANFIS
trainFIS = [trainInput{:,:}, table2array(trainOutput)];
% Tworzenie początkowej struktury FIS
numMFs = 2;
mfType = 'gaussmf';
fis = genfis1(trainFIS, numMFs, mfType);
% Uczenie modelu ANFIS
numEpochs = 100;
[trainedFis, trainError] = anfis(trainFIS, fis, numEpochs);
% Testowanie ANFIS
testFIS = [testInput{:,:}, table2array(testOutput)];
predicted = evalfis(testFIS(:,1:4), trainedFis);
% Konwersja wyników i ocena
predictedLabels = round(predicted);
confMat = confusionmat(testFIS(:,5), predictedLabels);
accuracy = sum(diag(confMat)) / sum(confMat(:));
disp(['Accuracy: ', num2str(accuracy * 100), '%']);
To share this paste please copy this url and send to your friends
RAW Paste Data
Recent Pastes
- kraken18.at
Velocity | 4 | 3 hours ago
- Untitled
Markup | 43 | 13 hours ago
- Завод По Производству Керамзита
Inform 7 | 13 | 14 hours ago
- Двери Купить Межкомнатные
Xojo (REALbasic) | 13 | 14 hours ago
- Купить Мраморный Камин
Flow | 11 | 14 hours ago
- Коробки Для Переезда Москва
Julia | 12 | 14 hours ago
- Untitled
Markup | 23 | 21 hours ago