참고 블로그 : https://mozenworld.tistory.com/entry/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-%EB%AA%A8%EB%8D%B8-%EC%86%8C%EA%B0%9C-1-%EC%84%A0%ED%98%95-%ED%9A%8C%EA%B7%80-%EB%AA%A8%EB%8D%B8-Linear-Regression

 

머신러닝 모델 소개 (1) - 선형 회귀 모델 (Linear Regression)

머신러닝 모델 소개 시리즈의 첫 번째 글입니다. 가장 대표적이면서도 기본적인 머신러닝 모델인 선형 회귀 모델 (Linear Regression model)을 소개하고, 파이썬의 Scikit-learn 라이브러리를 활용하여 실

mozenworld.tistory.com

 

선형 회귀란?

출처 : https://godongyoung.github.io/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D/2018/01/20/ISL-linear-regression_ch3.html

독립 변수와 종속 변수의 관계 설명에 있어 선형 방정식으로 나타낸 것이다.

다만, 독립 변수의 개수는 여러개여도 상관이 없으며 가장 대표적인 방법으론 least squared 방법이 쓰인다.

이는 곧 MSE를 최소화하는 계수를 구하는 것과 동일하다.

 

단순 선형회귀와 다중 선형 회귀 등이 있지만 이는 나중에 설명하도록 한다.

 

 

 

이제 scikit-learn을 이용하여 선형 회귀 모델을 연습해보자.

일단 scikit-learn을 install 해준다. (Google colab을 사용하면 설치가 필요없다.)

 

 

scikit-learn에서 제공하는 dataset 중 당뇨병 데이터 세트를 이용해보자.

 

(데이터 세트 관한 공식 documentation : https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_diabetes.html#sklearn.datasets.load_diabetes)

 

load_diabetes

Gallery examples: Release Highlights for scikit-learn 1.2 Gradient Boosting regression Plot individual and voting regression predictions Model Complexity Influence Model-based and sequential featur...

scikit-learn.org

해당 데이터 세트는 442명을 대상으로한 10가지 생리적 변화(나이, 성별 등)와 1년 후 질병 진행 지표가 있다.

 

return_X_y :

If True, returns (data,target)instead of a Bunch object. See below for more information about the data and targe tobject.

 

as_frame을 True로 하고 다시 뽑아보니 다음과 같이 column명이 나온다.

 

다음과 같이 8:2의 비율로 train / test set을 구분해주며

fit method를 통해 모델을 학습시킨다.

 

예측값 y_pred과 실제 값 y_test의 mean squared error를 구한다.

 

해당 plot 띄워보면 다음과 같다.

 

 

Linear Regression 관련 내용은 다음과 같다.

https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html

 

LinearRegression

Gallery examples: Principal Component Regression vs Partial Least Squares Regression Plot individual and voting regression predictions Comparing Linear Bayesian Regressors Linear Regression Example...

scikit-learn.org

 

'ML & AI' 카테고리의 다른 글

Object Detection  (0) 2024.11.24
Machine-Learning in Github + etc  (0) 2024.06.06

+ Recent posts