공부

파이썬 단순선형회귀분석 (feat. 다중회귀분석)

김파파 2022. 11. 20. 14:15

다음 데이터를 이용해 단순선형회귀분석을 해본다.

 

 

chick_nm : 병아리 이름

weight : 병아리 몸무게

egg_weight : 병아리가 되기 전 알의 무게

movement : 병아리의 하루 평균 이동거리

food : 병아리의 하루 사료량

 

 

 

 

병아리 이름은 제외하고 데이터를 새로 만든다.

 

 

chicks_dataset=chicks.iloc[:,1:5]

 

 

statsmodels.formula.api 라이브러리에 있는 ols() 함수를 이용해 단순선형회귀분석을 해본다.

 

 

ols() 함수로 모델을 만들고, fit() 함수로 훈련을 시킨 다음, summary() 함수로 결과를 보자.

 

 

import statsmodels.formula.api as smf

model_lr=smf.ols(formula='weight~egg_weight',data=chicks_dataset)

result_lr=model_lr.fit()

print(result_lr.summary())

 

 

 

 

결과를 시각화해본다.

 

 

import matplotlib.pyplot as plt
plt.figure(figsize=(10,6))
plt.scatter(chicks_dataset.egg_weight,chicks_dataset.weight,alpha=.5)
plt.plot(chicks_dataset.egg_weight,chicks_dataset.egg_weight*2.3371-14.5475,color='red')
plt.text(66,132,'weight=2.3371*egg_weight-14.5475',fontsize=12)
plt.title('Scatter Plot')
plt.xlabel('egg_weight')
plt.ylabel('weight')
plt.show()

 

 

마지막으로 잔차도 확인해본다.

 

 

result_lr.resid.head()
plt.figure(figsize=(10,6))
plt.hist(result_lr.resid,bins=7) # residual histogram
plt.show()
 
 
 
아래 링크로 접속해서 구글 코랩으로 위 내용을 확인해본다.

 

 

 

GitHub - gimpapa/Data_analysis_that_can_be_used_right_in_the_field_with_Python

Contribute to gimpapa/Data_analysis_that_can_be_used_right_in_the_field_with_Python development by creating an account on GitHub.

github.com

 

 

다중회귀분석은 위 과정과 거의 똑같다. 아래 깃허브를 통해 확인할 수 있다.

 

 

 

 

GitHub - gimpapa/Data_analysis_that_can_be_used_right_in_the_field_with_Python

Contribute to gimpapa/Data_analysis_that_can_be_used_right_in_the_field_with_Python development by creating an account on GitHub.

github.com