본문 바로가기

머신러닝공부

이항 분류 Binary Classification 딥러닝 예제

728x90
반응형
# 데이터 생성
import tensorflow as tf
import numpy as np
x_data = np.array([...]).astype('float32')
t_data = np.array([...]).astype('float32')

# 모델 구축
model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Dense(8, input_shape(1,), activation = 'sigmoid') # 은닉층 8개 노드, 입력층 노드 1개
model.add(tf.keras.layers.Dense(1, activation = 'sigmoid') # 출력층 1개 노드

# 모델 컴파일
model.compile(tf.keras.optimizers.SGD(learning_rate=0.1), loss=binary_crossentropy', metrics=['accuracy']) # 학습 알고리즘=SGD, 손실 함수=binary_crossentropy, 측정지표=accuracy
model.summary()

# 모델 학습
hist=model.fit(x_data, t_data, epochs=500)
test_data=np.array([...])

# 모델 검증
sigmoid_value = model.predict(test_data)
logical_value = tf.cast(sigmoid_value > 0.5, dtype = tf.float32)
for i in range(len(test_data)):
	print(test_data[i], sigmoid_value[i], logical_value.numpy()[i]
반응형