본문 바로가기
ML & DL/혼자 공부하는 머신러닝+딥러닝

선형 회귀 (Linear regression) 알고리즘

by Glory_Choi 2022. 7. 26.
반응형

선형 회귀

선형 회귀는 널리 사용되는 대표적인 회귀 알고리즘입니다. 비교적 간단하고 성능이 뛰어나기 때문에 맨 처음 배우는 머신 러닝 알고리즘 중 하나입니다. 특성이 하나인 경우 어떤 직선을 학습하는 알고리즘입니다.

학습을 해야하는 직선은 특성을 가장 잘 나타낼 수 있는 직선으로 학습해야 하기 때문에 위와 같이 특성을 잘 타나내는 직선이 좋습니다.

 

사이킷런 선형 회귀 구현

사이킷런은 sklearn.linear_model 패키지 아래에 LinearRegression 클래스로 선형 회귀 알고리즘을 구현해 놓았습니다.  

 LinearRegression 클래스에 훈련, 평가, 예측하는 메서드가 있기 때문에 우린  LinearRegression 클래스를 객체를 생성하여 사용하면 됩니다.  LinearRegression 클래스에도 fit(),score(), predict()  메서드가 있습니다.

 

k-최근접 이웃 회귀를 사용했을 때와 달리 선형 회귀는 무게를 아주 높게 예측합니다. 이 선형 회귀가 학습한 직선은 가장 간단한 직선의 방정식인 y=ax+b처엄 쓸 수 있습니다. a는 직선의 기울기, b는 절편입니다.

 

적절한 기울기와 절편을 찾았는지 확인하기 위해서 coef_와  intercept_속성을 확인해본 결과 적절한 값이 나왔습니다.

 

선형 회귀 모델 산점도와 1차 방정식 그래프

산점도를 그리고 직선과 비교해보니 예측은 직선의 연장선에 있습니다 훈련세트와 테스트 세트에 대한 R 스퀘어 점수를 확인하겠습니다.

 

모델 평가

훈련 시킨 모델의 점수가 높지 않습니다. 그 이유는 산점도의 아래쪽 부분이 그래프와 다르기 때문입니다. 이 문제점의

해결 방법은 다음 글에 담겠습니다.

반응형