본문 바로가기

TIL

240813 선형회귀(숫자예측) 하는 방법

선형회귀를 하기 위한 방법

 

 

라이브러리 설치

!pip install sklearn
!pip install numpy
!pip install pandad
!pip install matplotlib
!pip instal seaborn

 

 Import

import sklearn
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

 

설치되어 있는지 확인하는 방법

  • (예시) import pandas as pd
               pd.__version__

데이터 확인

  • pd.DataFrame 을 통해 활용 가능한 데이터프레임 형태로 정의를 해야함
  • (예시)
    weights=[87,81,82,92,90,61,86,66,69,69]
    heights=[187,174,179,192,188,160,179,168,168,174]
    body_df=pd.DataFrame({'height': heights,'weight':weights})
     

선형회귀를 위한 데이터 인코딩

from sklearn.linear_model import LinearRegression
model_lr=LinearRegression()

 

선형회귀를 위한 데이터 훈련

model_lr.fit(X=x,y=y)

 

선형회귀식에서 계수(가중치) 와 편향( y절편) 확인

#가중치(w1)
	print(model_lr.coef_)
#편향(w0)
	print(model_lr.intercept_)

 

선형회귀식을 이용한 예측값 만들기

body_df['pred'] = body_df['weight']*w1+w0

 

선형회귀식을 이용한 에러 만들기

body_df['error']=body_df['height']-body_df['pred']

 

선형회귀식을 MSE 만들기

body_df['error^2']=body_df['error']*body_df['error']

body_df['error^2'].sum()/len(body_df)

 

 

패키지를 활용한 mean_squared_error 및 r2_score 계산

from sklearn.metrics import mean_squared_error, r2_score

y_true=body_df['height']
y_pred=body_df['pred']



mean_squared_error(y_true,y_pred)
r2_score(y_true,y_pred)

'TIL' 카테고리의 다른 글

240813 로지스틱회귀(범주형자료) 하는 방법  (0) 2024.08.13
240809 TIL / recursive CTE 관련  (0) 2024.08.09
240807 TIL  (0) 2024.08.07
240806 통계학기초 연습문제  (0) 2024.08.06
240805 TIL  (0) 2024.08.05