Monday, October 16, 2017

Buku Belajar Machine Learning dengan Python-Learning Vector Quantization


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
Buku Belajar Machine Learning dengan Python-Learning Vector Quantization
Learning Vector Quantization adalah salah satu metode pelatihan secara kompetitif yang sama seperti teknik percepton dan bacpropagation. Penulis sajikan data berikut yang terdiri dari 2 paramater dan 1 target output



Buku Belajar Machine Learning dengan Python-Learning Vector Quantization
Penulis menggunakan python dan numpy untuk melakukan perhitungan berikut


import csv
import numpy as np
from library_lvq import LVQ


print 'mulai'
d = np.genfromtxt('data.csv',delimiter=',') 
data_input = d[:,0:2] 
data_target = np.zeros([np.size(data_input,0),1]) #bikin matrix target
data_target[:,0] = d[:,2]  #assign dengan kolom sebagai target
data_target = data_target+1
print 'data input',data_input
max_epoch = 1000
target_error = 0.01
lvq = LVQ()
jumlah_kelas = 3
jumlah_paramater = 2
bobot_awal = lvq.setBobotRandom(jumlah_kelas,jumlah_paramater) #kita pakai bobot random saja

#proses pelatihan
lvq.pelatihan(data_input,
              bobot_awal,
              data_target,
              max_epoch,
              target_error)

bobot_akhir = lvq.BOBOT #bobot hasil pelatihan

prediksi = lvq.pengujian(data_input,bobot_akhir) #lakukan prediksi
print 'target\n',data_target
print 'bobot awal\n',bobot_awal
print 'prediksi\n',prediksi
print 'bobot setelah pelatihan\n',bobot_akhir
print 'epoch\n',lvq.EPOCH
print 'done'

print 'kita bandingkan antar data_target==prediksi\n', data_target==prediksi
print 'jumlah data yang diuji\n',np.size(d,0)
b = data_target==prediksi
print 'jumlah berhasil\n',b.sum()

Dengan referensi berikut
[1] T. Kohonen. An introduction to neural computing. Neural Networks,1(1):3–16, 1988.
[2] T. Kohonen. Learning vector quantization. Neural Networks, 1:303,1988.
Menghasilkan

mulai
data input [[ 2.7810836   2.550537  ]
 [ 1.46548937  2.36212508]
 [ 3.39656169  4.40029353]
 [ 1.38807019  1.85022032]
 [ 3.06407232  3.00530597]
 [ 7.62753121  2.75926224]
 [ 5.33244125  2.08862677]
 [ 6.92259672  1.77106367]
 [ 8.67541865 -0.24206865]
 [ 7.67375647  3.50856301]
 [-1.         -1.        ]
 [-2.         -2.        ]]
target
[[ 1.]
 [ 1.]
 [ 1.]
 [ 1.]
 [ 1.]
 [ 2.]
 [ 2.]
 [ 2.]
 [ 2.]
 [ 2.]
 [ 3.]
 [ 3.]]
bobot awal
[[ 0.29099099  0.89736528]
 [ 0.77639942  0.32244049]
 [ 0.50293928  0.94421681]]
prediksi
[[ 1.]
 [ 1.]
 [ 1.]
 [ 1.]
 [ 1.]
 [ 2.]
 [ 2.]
 [ 2.]
 [ 2.]
 [ 2.]
 [ 3.]
 [ 3.]]
bobot setelah pelatihan
[[ 1.31912068  2.09943898]
 [ 5.80948915  1.28862291]
 [-0.56895638 -0.29873992]]
epoch
3
done
kita bandingkan antar data_target==prediksi
[[ True]
 [ True]
 [ True]
 [ True]
 [ True]
 [ True]
 [ True]
 [ True]
 [ True]
 [ True]
 [ True]
 [ True]]
jumlah data yang diuji
12
jumlah berhasil
12
 

No comments:

Post a Comment