연습 - Numpy를 사용하여 선형 회귀 수행
산점도는 데이터를 시각화하는 편리한 방법을 제공하지만, 시간 경과에 따른 데이터 추세를 보여주는 추세선을 산점도에 오버레이하려 한다고 가정해 봅시다. 이러한 추세선을 컴퓨팅하는 한 가지 방법은 선형 회귀입니다. 이 연습에서는 NumPy를 사용하여 선형 회귀를 수행하고 Matplotlib를 사용하여 데이터의 추세선을 그리겠습니다.
Notebook 하단의 빈 셀에 커서를 놓습니다. 셀 형식을 Markdown으로 변경하고 텍스트로 "선형 회귀 수행"을 입력합니다.
코드 셀을 추가하고 다음 코드를 붙여넣습니다. 잠시 주석(# 기호로 시작하는 줄)을 읽고 코드가 하는 일을 파악합니다.
# Creates a linear regression from the data points m,b = np.polyfit(yearsBase, meanBase, 1) # This is a simple y = mx + b line function def f(x): return m*x + b # This generates the same scatter plot as before, but adds a line plot using the function above plt.scatter(yearsBase, meanBase) plt.plot(yearsBase, f(yearsBase)) plt.title('scatter plot of mean temp difference vs year') plt.xlabel('years', fontsize=12) plt.ylabel('mean temp difference', fontsize=12) plt.show() # Prints text to the screen showing the computed values of m and b print(' y = {0} * x + {1}'.format(m, b)) plt.show()
이제 셀을 실행하여 회귀선이 포함된 산점도를 표시합니다.
회귀선이 포함된 산점도
회귀선을 보면 시간이 지날수록 30년 평균 온도와 5년 평균 온도의 차이가 점점 커지는 것을 알 수 있습니다. 회귀선을 생성하는 데 필요한 대부분의 컴퓨팅 작업은 방정식 y = mx + b의 m
및 b
값을 컴퓨팅하는 NumPy의 polyfit
함수가 처리했습니다.