로지스틱 회귀모델?
- 로지스틱 회귀(Logistic Regression)
- 이진 분류 문제를 해결하기 위한 통계적 모델
- 선형 회귀와 비슷하지만, 출력 값이 연속적인 실수 값이 아니라 0과 1 사이의 확률로 제한됨
코드 작성
# 로지스틱 회귀
# 결과값을 그래프로 그리기 어려운, 결과값이 T/F 나오는 것
import numpy as np
import tensorflow as tf
import matplotlib.pyplot as plt
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
x = np.array([2, 4, 6, 8, 10, 12, 14])
y = np.array([0, 0, 0, 0, 1, 1, 1])
model = Sequential()
model.add(Dense(1, input_dim=1, activation='sigmoid'))
# 교차 엔트로피 오차 함수를 이용하기 위해 'binary_crossentropy'로 설정합니다.
model.compile(optimizer='sgd', loss='binary_crossentropy')
model.fit(x, y, epochs=5000)
# 그래프로 확인
plt.scatter(x, y)
plt.xlabel('x')
plt.ylabel('y')
plt.plot(x, model.predict(x), 'r')
plt.show()
# 임의의 학습 시간을 집어넣어 합격예상확률 예측
hour = 7
input_data = tf.constant([hour])
prediction = model.predict(input_data)[0][0]
print("%.f 시간을 공부할 경우, 합격 예상 확룰은 %.01f%%입니다." %(hour, prediction*100))
결과 확인

- 5000번 학습시켰을 때
