AI
[AI] 텐서플로우로 선형회귀 활용하여 시험 성적 예측하기
zin502
2023. 5. 8. 00:23
오늘은 텐서플로우를 활용해 선형회귀를 그려 시험 성적을 예측해볼 것이다.
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}')