티스토리 뷰

케라스를 이용하여 하는 mlp 기본 예제 코드이다.

기본적인 데이터는 다음과 같다. 

X : [10,20,30] -> Y : [40,50]

1
2
= array([[102030], [203040], [304050], [405060]])
= array([[4050],[50,60],[6070],[70,80]])
cs

 

 

100개의 뉴런을 사용하여 output을 두개 도출한다.

이때 데이터는 3개이기 때문에 input_dim = 3으로 도출되고 Dense(2)로 설정한다.

optimizer은 adam으로 설정하였고 회귀이기 때문에 loss는 mse로 설정하였다. 

1
2
3
4
5
6
7
# define model
model = Sequential()
model.add(Dense(100, activation='relu', input_dim=3))
model.add(Dense(2))
model.compile(optimizer='adam', loss='mse')
# fit model
model.fit(X, y, epochs=2000, verbose=0)
cs

 

 

데이터 [50,60,70]을 사용하여 output을 도출한다.

값은 [[80.14777 90.85103]]로 도출된다. 

1
2
3
4
5
6
# demonstrate prediction
x_input = array([506070])
x_input = x_input.reshape((13))
yhat = model.predict(x_input, verbose=0)
print(yhat) #[[80.14777 90.85103]]
 
cs

 

 

 

 

[전체코드]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# univariate mlp example
from numpy import array
from keras.models import Sequential
from keras.layers import Dense
 
# define dataset
= array([[102030], [203040], [304050], [405060]])
= array([[4050],[50,60],[6070],[70,80]])
 
print("X.shape", X.shape)
print("Y.shape", y.shape)
 
# define model
model = Sequential()
model.add(Dense(100, activation='relu', input_dim=3))
model.add(Dense(2))
model.compile(optimizer='adam', loss='mse')
# fit model
model.fit(X, y, epochs=2000, verbose=0)
 
# demonstrate prediction
x_input = array([506070])
x_input = x_input.reshape((13))
yhat = model.predict(x_input, verbose=0)
print(yhat) #[[80.14777 90.85103]]
cs

 

 

출처 : https://machinelearningmastery.com/how-to-get-started-with-deep-learning-for-time-series-forecasting-7-day-mini-course/

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함