Membuat JST dengan Neural Network Fitting Tool (nftool)

Data Mining/06.05.2013/Sistem Informasi

Matlab menyediakan fasilitas JST yang lebih spesifik dari sebelumnya, yaitu fitting, clustering, dan Pattern recognition. Sekarang kita coba melatih data berikut ini dengan nftool. Buat dengan excel setelah itu pindahkan ke workspace dengan perintah xlsread. Misalnya, nama file excel-ya ‘input.xlsx’. Misalnya kolom A Indeks Prestasi Mahasiswa, Kolom B Tingkat Kemiskinan dan C mendapat beasiswa atau tidak (beasiswa = 1, Tidak Beasiswa = 0).

Berikutnya masuk ke Command Window, masukan beberapa langkah berikut ini untuk membuat data masukan dan target yang akan digunakan untuk pelatihan.

  • input=xlsread(‘input.xlsx’);
  • in=[input(:,1) input(:,2)];
  • out=input(:,3);

Berikutnya jika in dan out sudah ada di workspace kita, panggil nftool untuk membuat JST dan melakukan pelatihan. Ketik nftool di command window. Masukan input dan outputnya sesuai dengan variabel yang telah dibuat. Jangan lupa klik jumlah record berdasarkan baris atau kolom. Biasanya, jika belum dicentang, tombol next tidak bisa ditekan yang artinya antara input dan output masih ada kesalahan. Klik Next, hingga muncul tampilan sebagai berikut.

 

Berikutnya kita lakukan pelatihan (training) dengan metode Backpropagation. Klik tombol ‘Train’.

Setelah pelatihan selesai, jangan lupa menyimpan hasil pelatihan tersebut ke workspace dengan menekan tombol ‘Save Result‘.

Berikutnya uji dengan beberapa masukan, apakah hasilnya tepat? Untuk menguji hasil pelatihan dapat dilakukan dengan menguji input yang dilatih, apakah sesuai dengan target atau tidak? Gunakan kode berikut.

Perhatikan, hasil antara kolom kiri dan kanan harus sama. Perbedaan menandakan ada kesalahan pada hasil pelatihan. Tetapi jarang diperoleh hasil pelatihan yang memiliki akurasi 100%. Jika ingin melihat Surface, gunakan kode berikut di Command Window untuk melihat hasil surface beragam kemungkinan masukan.

  • plot3(1,1,1)
  • hold
  • Current plot held
  • >> grid
  • >> for i=1:40
  • for j=1:40
  • x=i/10;y=j/10;
  • k=sim(net,[x;y]);
  • if k>0.5
  • plot3(x,y,k,’r*’)
  • else
  • plot3(x,y,k,’b*’)
  • end
  • end
  • end

Wilayah berwarna merah berdasarkan kode di atas masuk dalam kategori memperoleh beasiswa “1” dan biru masuk kategori tidak mendapat beasiswa “0”.

Iklan