tansorflow로 로지스틱회귀 하는 법

전수향·2023년 3월 24일
0

오늘은 인공지능프로그래밍 시간에 했던 tensorflow로 로지스틱회귀를 하는 방법을 알아보자.

import numpy as np
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, 1, 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.plot(x, model.predict(x), 'r')
plt.show()

# 임의의 학습 시간을 집어넣어 합격 예상 확률을 예측해 보겠습니다.
hour = 7
prediction = model.predict([hour])
print("%.f시간을 공부할 경우, 합격 예상 확률은 %.01f%%입니다." % (hour,
prediction * 100))

우선 필요한 라이브러리들을 import 해줍니다.

x와 y 변수로 오차 정보를 입력합니다.

model.add에서 출력 값, 입력 변수, 분석 방법에 맞게끔 모델을 설정합니다.

model.compile에서는 오차 수정을 위해 경사 하강법(sgd)을, 교차 엔트로피 오차 함수를 사용하기 위해 loss를 binary_crossentropy로 설정합니다.

model.fit에서는 5000번 학습한다는 내용입니다.

plt 부분은 예측 결과를 그래프로 나타내는 부분입니다.

hour 부터는 임의 시간을 넣어서 예측해보는 내용입니다.

profile
꿈나무 개발자

0개의 댓글