Diketahui input data latih dan data uji sebagai berikut:

Target:
0 : Tanda Tangan Wahyu
1 : Tanda Tangan Jundi Rasyid
Training JST:

Ouput JST dan nilai MSE :

Performansi training hingga 128 epoch:

Data training disimpan pada net.mat
Dilakukan pengujian data dengan data uji yang disediakan

Garis Biru : Keluaran nilai JST
Garis Ijo : Hasil Tebak JST
Garis Merah : Hasil Sebenarnya (Target)
Dari data tersebut dapat dihitung akurasi JST yaitu dengan menghitung berapa kali tebakan benar dibagi dengan total pengujian.
Terdapat 1x kesalahan, yaitu ketika pola pertama yang seharusnya adalah tanda tangan Wahyu (0) akan tetapi ditebak sebagai tanda tangan Jundi Rasyid (1), sehinggga akurasinya :
7/8 * 100
akurasi sebesar : 87.5%
JIKA, Data uji TERMASUK juga dari Data Latih :

Akurasi 14/16 *100
87.5%
Source Code:
Data_Latih.m
% baca data dari excel
filename = 'data_TTD.xls';
sheet = 1;
xlRange = 'B13:K20';
Data = xlsread(filename, sheet, xlRange);
data_latih = Data(:,1:9)';
target_latih = Data(:,10)';
[m,n] = size(data_latih);
net = newff(minmax(data_latih),[10 1],{'logsig','purelin'},'traingdx');
net.performFcn = 'mse';
net.trainParam.goal = 0.001;
net.trainParam.show = 20;
net.trainParam.epochs = 1000;
net.trainParam.mc = 0.95;
net.trainParam.lr = 0.1;
[net_keluaran,tr,Y,E] = train(net,data_latih,target_latih);
bobot_hidden = net_keluaran.IW{1,1};
bobot_keluaran = net_keluaran.LW{2,1};
bias_hidden = net_keluaran.b{1,1};
bias_keluaran = net_keluaran.b{2,1};
jumlah_iterasi = tr.num_epochs;
nilai_keluaran = Y;
nilai_error = E;
error_MSE = (1/n)*sum(nilai_error.^2);
save net.mat net_keluaran
hasil_latih = sim(net_keluaran,data_latih);
max_data = 1;
min_data = 0;
hasil_latihUji = ((hasil_latih-0.1)*(max_data-min_data)/0.8)+min_data;
%target_latih_asli = hasil_latihUji;
filename = 'data_TTD.xls';
sheet = 1;
xlRange = 'C11:J11';
target_latih_asli = xlsread(filename, sheet, xlRange);
figure,
plotregression(target_latih_asli,hasil_latih,'Regression')
figure,
plotperform(tr)
figure,
plot(hasil_latih,'bo-')
hold on
plot(target_latih_asli,'ro-')
hold off
grid on
title(strcat(['Grafik Keluaran JST vs Target dengan nilai MSE = ',...
num2str(error_MSE)]))
xlabel('Pola ke-')
ylabel('Range Sidik Jari (0 dan 1)')
legend('Keluaran JST','Target','Location','Best')
Pengujian_Data.m
clc;clear;close all;
%eksekusi file Data_Latih.m terlebih dahulu
%pastikan net.mat sudah dibuat
load net.mat
filename = 'data_TTD.xls';
sheet = 1;
xlRange = 'B13:K20';
Data = xlsread(filename, sheet, xlRange);
data_uji = Data(:,1:9)';
target_uji = Data(:,10)';
[m,n] = size(data_uji);
hasil_uji = sim(net_keluaran,data_uji);
nilai_error = hasil_uji-target_uji;
max_data = 1;
min_data = 0;
hasil_uji = ((hasil_uji-0.1)*(max_data-min_data)/0.8)+min_data;
error_MSE = (1/n)*sum(nilai_error.^2);
filename = 'data_TTD.xls';
sheet = 1;
xlRange = 'C21:J21';
target_uji_asli = xlsread(filename, sheet, xlRange);
hasil_tebak = round(hasil_uji);
for index = 1:8
if hasil_tebak(index) == 2
hasil_tebak(index) = 1;
end
end
figure,
plot(hasil_uji,'bo-')
hold on
plot(hasil_tebak,'go-')
hold on
plot(target_uji_asli,'ro-')
hold off
grid on
title(strcat(['Grafik Keluaran JST vs Target dengan nilai MSE = ',...
num2str(error_MSE)]))
xlabel('Pola ke-')
ylabel('Range Sidik Jari (0 dan 1)')
legend('Keluaran JST','Hasil Tebak','Target','Location','Best')
0 Responses
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.