라이브러리 불러오기
from keras.models import Sequential
from keras.layers import Dense
import numpy as np
import tensorflow as tf
실행할 때마다 같은 값 출력을 위한 Seed 값 출력하기
seed = 0
np.random.seed(seed)
tf.random.set_seed(seed)
데이터 불러오기
Data_set = np.loadtxt("불러올데이터셋경로와파일명.csv", delimiter=",")
# 이 데이터는 속성이 17개고 마지막 열이 클래스이다.
X = Data_set[:,0:17]
Y = Data_set[:,17]
딥러닝 설계하기
# Sequential 함수를 이용해서 딥러닝의 층구조를 만들 것이다.
model = Sequential()
# 은닉층(이자 입력층)을 추가한다.
# Dense 함수를 이용해서 하나의 층의 밀집도를 지정한다.
# 30개의 node와 입력값은 17개, 활성함수는 렐루(relu)를 사용하였다.
model.add(Dense(30, input_dim=17, activation='relu'))
# 출력층을 추가한다.
# 출력층이므로 입력값이 없다. 또한 노드도 당연히 하나다.
# 활성함수는 시그모이드(sigmoid)함수를 사용하였다.
model.add(Dense(1, activation='sigmoid'))
딥러닝 컴파일하기
# 오차 측정 함수는 평균 제곱근 오차를 사용하였고, 최적화는 adam함수를 사용하였다.
# metrics 함수는 모델이 컴파일될 때 모델 수행 결과를 나타나게끔 설정하는 부분이다.
# 정확도를 측정하기 위해 사용되는 테스트 샘플을 학습 과정에서 제외시킴으로써 과적합을 막는다.
model.compile(loss='mean_squared_error', optimizer='adam', metrics=['accuracy'])
딥러닝 구동하기
# 모든 데이터를 30번 돌리고, 한번 돌릴 때 10개의 데이터씩 집어넣으라는 의미이다.
model.fit(X, Y, epochs=30, batch_size=10)
결과 출력
print("\n Accuracy: %.4f" % (model.evaluate(X, Y)[1]))
결과 콘솔
'Machine Learning > 딥러닝' 카테고리의 다른 글
[모두의 딥러닝] 퍼셉트론, 신경망의 시작 (0) | 2022.03.11 |
---|---|
[모두의 딥러닝] 로지스틱 회기 (Logistic Regression) (0) | 2022.03.11 |
[모두의 딥러닝] 선형회기 (Linear Regression) (0) | 2022.03.11 |
[모두의 딥러닝] 아나콘다, 텐서플로 설치하고 파이참 연결하기 (0) | 2022.03.11 |