Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- # iamtrask.github.io/2015/07/12/basic-python-network/
- # ramalan cuaca
- #
- # 0 = cerah
- # 1 = hujan
- # 2 = mendung
- #
- #
- # suhu
- # 0 = panas
- # 1 = sejuk
- # 2 = dingin
- #
- #
- # kelembaban
- # 0 = tinggi
- # 1 = normal
- #
- #
- # angin
- #
- # 0 = ;emah
- # 1 = kuat
- #
- #
- #
- # target
- # 0 = tidak
- # 1 = main
- # fungsi sigmoid
- def nonlin(x,deriv=False):
- if(deriv==True):
- return x*(1-x)
- return 1/(1+np.exp(-x))
- # situasi cuaca
- source = np.array([
- [0,0,0,0],
- [0,0,0,1],
- [2,0,0,0],
- [1,1,0,0],
- [1,2,1,0],
- [1,2,0,1],
- [2,3,1,1],
- [0,1,0,0],
- [0,2,1,0],
- [1,1,1,0],
- [0,1,1,1],
- [2,1,0,1],
- [2,0,1,0],
- [1,1,0,1]
- ])
- # target berermain
- target = np.array([[0,0,1,1,1,0,1,0,1,1,1,1,1,0]]).T
- np.random.seed(1)
- syn0 = 2*np.random.random((4, 14)) - 1
- # iterasi
- for iter in xrange(10000):
- l0 = source
- l1 = nonlin(np.dot(l0,syn0))
- l1_error = target - l1
- l1_delta = l1_error * nonlin(l1,True)
- syn0 += np.dot(l0.T,l1_delta)
- print "Output After Training:"
- print l1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement