궁금한게 많은 열아홉
article thumbnail

오늘은 텐서플로우를 활용해 선형회귀를 그려 시험 성적을 예측해볼 것이다.

 

1. 필요한 라이브러리 import하기

import numpy as np
import matplotlib.pyplot as plt

- 계산을 하는 라이브러리인 numpy와 데이터를 시각화해줄 matplotlib.pyplot 라이브러리를 import해준다.

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense

- 모델 계층을 선형으로 쌓아줄 Sequential과 입력과 출력을 연결해주는 Dense를 import 합니다.

 

2. 데이터 파일 넣기

x = np.array([[2,0],[4, 4],[ 6,2], [8,3] ])
y = np.array([81, 93, 91, 97])

- x에 [혼자 공부한 시간, 과외를 받은 시간] 을 넣어주고, y에 시험 점수를 넣어줍니다.

 

3. 모델 만들기

model = Sequential()

4. 모델 층 쌓기

model.add(Dense(1, input_dim=2, activation='linear'))

# input_dim : 2차원, activation : 선형회귀

5. 컴파일 하기

model.compile(optimizer='sgd' ,loss='mse')

6. 오차 범위 줄이기

model.fit(x, y, epochs=2000)

- 2000번 왔다 갔다

7. 그래프 그리기 

plt.scatter(x, y)
plt.plot(x, model.predict(x),'r')
plt.show()

8. 결과 나타내기

hour = 7
private_class = 4
prediction = model.predict([[hour,private_class]])

print(f'{hour}시간을 공부할 경우,{private_class}시간 과외를 받는 경우 예상 점수는 {prediction}')

profile

궁금한게 많은 열아홉

@jjin502

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!