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.