실습 | 선형 회귀 모델 실습
import numpy as np import matplotlib.pyplot as plt # 공부 시간 X와 성 y의 넘파이 배열을 만듭니다. = np.array([2, 4, 6, 8]) = np.array([81, 93, 91, 97]) # 데이터의 분포를 그래프로 나타냅니다. plt.scatter( , ) plt.show() # 기울기 a의 값과 절편 b의 값을 초기화합니다. = 0 = 0 # 학습률을 정합니다. = 0.03 # 몇 번 반복될지 설정합니다. = 2001 # x 값이 총 몇 개인지 셉니다. = len( ) # 경사 하강법을 시작합니다. for in range( ): # 에포크 수만큼 반복합니다. = * + # 예측 값을 구하는 식입니다. = - # 실제 값과 비교한 오차를 error로 놓습니다. = (2/ ) * sum(- * ( )) # 오차 함수를 a로 편미분한 값입니다. = (2/ ) * sum(-( )) # 오차 함수를 b로 편미분한 값입니다. = - * # 학습률을 곱해 기존의 a 값을 업데이트합니다. = - * # 학습률을 곱해 기존의 b 값을 업데이트합니다. if % 100 == 0: # 100번 반복될 때마다 현재의 a 값, b 값을 출력합니다. print("epoch=%.f, 기울기=, 절편=" % ( , , )) # 앞서 구한 최종 a 값을 기울기, b 값을 y 절편에 대입해 그래프를 그립니다. = * + # 그래프를 출력합니다. plt.scatter( , ) plt.plot( , ,'r') plt.show()