소개
이 프로젝트에서는 일련의 데이터 포인트에 대해 선형 회귀를 수행하고 Matplotlib 을 사용하여 결과를 시각화하는 방법을 배우게 됩니다. 선형 회귀는 종속 변수 (y) 와 하나 이상의 독립 변수 (x) 간의 관계를 모델링하는 데 사용되는 기본적인 머신 러닝 기술입니다.
🎯 과제
이 프로젝트에서는 다음을 배우게 됩니다:
- 주어진 데이터를 더 쉽게 조작할 수 있도록 Numpy 배열로 변환하는 방법
- 기울기 (w) 와 절편 (b) 을 포함한 선형 회귀 모델의 계수를 계산하는 방법
- 산점도에 데이터 포인트를 플롯하고 동일한 플롯에 선형 회귀선을 그리는 방법
🏆 성과
이 프로젝트를 완료하면 다음을 수행할 수 있습니다:
- 선형 회귀 분석을 위한 데이터 준비
- Numpy 함수를 사용하여 선형 회귀 매개변수 계산
- Matplotlib 을 사용하여 산점도를 생성하고 선형 회귀선을 겹쳐 그리기
- 선형 회귀와 데이터 분석 및 시각화에서의 실용적인 응용에 대한 더 나은 이해
데이터를 NumPy 배열로 변환
이 단계에서는 주어진 데이터를 더 쉽게 조작할 수 있도록 NumPy 배열로 변환하는 방법을 배우게 됩니다.
linear_regression_plot.py 파일을 엽니다.
linear_plot() 함수의 시작 부분에서 data 변수를 찾습니다.
np.array() 함수를 사용하여 data 리스트를 NumPy 배열로 변환합니다.
data = np.array(data)
이제 data 변수는 NumPy 배열이므로 다음 단계에서 더 쉽게 작업할 수 있습니다.
선형 회귀 매개변수 계산
이 단계에서는 데이터로부터 계수 w와 절편 b의 값을 계산하는 방법을 배우게 됩니다.
linear_plot() 함수에서 계속 진행하여 NumPy 배열 data에서 x와 y 값을 추출합니다.
x = data[:, 0]
y = data[:, 1]
np.polyfit() 함수를 사용하여 선형 회귀 매개변수 w와 b를 계산합니다.
w, b = np.polyfit(x, y, 1)
round() 함수를 사용하여 계산된 w와 b 값을 소수점 두 자리로 반올림합니다.
w = round(w, 2)
b = round(b, 2)
이제 다음 단계에서 사용할 준비가 된 계수 w와 절편 b의 값을 얻었습니다.
선형 회귀선 시각화
이 단계에서는 샘플 산점도를 그리고 계산된 매개변수를 기반으로 그래프에 적합선을 그리는 방법을 배우게 됩니다.
linear_plot() 함수에서 계속 진행하여 plt.subplots()를 사용하여 새로운 Matplotlib figure 와 axis 를 생성합니다.
fig, ax = plt.subplots()
ax.scatter() 함수를 사용하여 데이터 포인트를 그립니다.
ax.scatter(x, y, label="Data Points")
ax.plot() 함수와 계산된 w 및 b 값을 사용하여 선형 회귀선을 그립니다.
ax.plot(x, w * x + b, color="red", label=f"Linear Fit: y = {w}x + {b}")
플롯에 레이블과 범례를 추가합니다.
ax.set_xlabel("X")
ax.set_ylabel("Y")
ax.legend()
마지막으로 w, b, 그리고 fig 객체의 값을 반환합니다.
return w, b, fig
이제 주어진 데이터에 대해 선형 회귀를 수행하고 계수와 Matplotlib 플롯 객체를 반환하는 linear_plot() 함수를 완성했습니다.
선형 회귀 시각화 실행
이 마지막 단계에서는 스크립트를 실행하여 선형 회귀 플롯이 작동하는 것을 확인하는 방법을 배우게 됩니다. 이 코드 부분은 linear_plot()에서 이전에 정의된 함수를 사용하여 산점도와 선형 회귀선을 함께 표시합니다.
제공된 Python 스니펫은 스크립트가 메인 프로그램으로 실행되는지 확인하고, 그렇다면 linear_plot() 함수를 호출하고 결과 플롯을 표시합니다.
if __name__ == "__main__":
## Call the linear_plot function to compute the regression parameters and generate the plot
w, b, fig = linear_plot()
## Display the plot
plt.show()
여기서 if __name__ == "__main__":은 스크립트가 모듈로 가져올 때가 아니라 직접 실행될 때만 linear_plot() 함수가 호출되도록 보장합니다. 기울기 w, 절편 b, 그리고 figure 객체 fig를 반환하는 linear_plot()을 호출한 후, plt.show()를 사용하여 창에 플롯을 표시합니다. 이를 통해 회귀선의 데이터 적합성을 시각적으로 검사할 수 있습니다.
이제 linear_regression_plot.py의 첫 번째 줄 상단에 있는 "Run Cell" 버튼을 누르고 결과를 확인할 수 있습니다.

이 설정을 통해 다른 데이터 세트나 회귀 계산 조정을 사용하여 스크립트를 쉽게 다시 실행하여 즉각적인 시각적 피드백을 확인할 수 있습니다.
요약
축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.



