Monday, September 23, 2019

Buku Belajar Pemrogaman Matlab - Penerapan KFold di Matlab


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link


kalian bisa lanjut baca lagi di  http://softscients.com/2020/03/29/buku-belajar-pemrogaman-matlab-penerapan-kfold-di-matlab/



Penggunaan KFold validation telah banyak digunakan untuk menguji proses pelatihan. Adapun secara umum ilustrasi KFold akan membagi 80% sebagai data latih dan 20% sebagai data uji, misalkan saja kita punya 12 data dengan jumlah KFOLD sebanyak 4 irisan, maka gunakan perintah berikut di Matlab


n = 1:12;
c = cvpartition(n,'KFold',4);
display(c)


c = 

K-fold cross validation partition
   NumObservations: 12
       NumTestSets: 4
         TrainSize: 9  9  9  9
          TestSize: 3  3  3  3

Artinya ada 4 fold yang masing2 terdiri dari 9 data latih dan 3 data uji. Maka untuk mengetahui index/no mana saja yang termasuk data latih dan uji, gunakan perintah berikut:

for i = 1:c.NumTestSets
    index_training = c.training(i);
    index_testing = c.test(i);
    disp(['Kfold ke ' num2str(i)])
    disp('index latih')
    disp(n(index_training))
    disp('index uji')
    disp(n(index_testing))
 
end


Kfold ke 1
index latih
     1     2     3     5     6     7     9    10    11

index uji
     4     8    12

Kfold ke 2
index latih
     2     3     4     6     7     8    10    11    12

index uji
     1     5     9

Kfold ke 3
index latih
     1     3     4     5     7     8     9    11    12

index uji
     2     6    10

Kfold ke 4
index latih
     1     2     4     5     6     8     9    10    12

index uji
     3     7    11


Kamu bisa lihat pada bahwa tiap KFold antara index data latih dan uji masing-masing tidak mempunyai index yang sama, pemilihan jumlah KFOLD sangat penting. Bila kita ubah KFOld 3 maka menjadi berikut hasilnya.

n = 1:12;
c = cvpartition(n,'KFold',3);

for i = 1:c.NumTestSets
    index_training = c.training(i);
    index_testing = c.test(i);
    disp(['Kfold ke ' num2str(i)])
    disp('index latih')
    disp(n(index_training))
    disp('index uji')
    disp(n(index_testing))
end

Kfold ke 1
index latih
     1     2     4     5     7     8    10    11

index uji
     3     6     9    12

Kfold ke 2
index latih
     2     3     5     6     8     9    11    12

index uji
     1     4     7    10

Kfold ke 3
index latih
     1     3     4     6     7     9    10    12

index uji
     2     5     8    11










No comments:

Post a Comment