Python/Small Project

[Python Data Analysis]선형 회귀분석을 통해 'BMI지수'에 영향을 주는 요소 알아보기

sohyunkimmm 2023. 1. 16. 21:28
728x90

1) 필요 패키지 불러오기

- pandas, train_test_split(데이터 분할)

 

 

2) 데이터 불러오고 결측값 제거

- dropna()는 전체 데이터에 적용하기 (X, Y 따로따로 했다가 행 수가 안맞아서 error가 계속 났다..)

- isnull.sum(): 결측값 제거 확인하기

결측값 제거 후- dropna(), 제대로 제거 되었는지 확인- isnull().sum()

 

 

3) 데이터 분할, 통계기반 변수선택

x에 y값(bmi지수)과 키, 몸무게(bmi지수에 포함된 요소)를 제외한(drop) 모든 변수를 넣었다
일변량 통계기반 변수선택- SelectKBest()
선택된 변수들

 

 

4) Y에 로그 적용

np.log1p()
y가 정규분포를 띄고 있음

 

 

5) 데이터 분할, 데이터 표준화

- 변수선택에서 연속형 데이터를 가진 변수만 도출되었기 때문에, StandardScaler()적용

StandardScaler()를 사용하여 연속형 변수 표준화시키기

 

 

6) 선형 회귀분석

- LinearRegression()

- R2 = 0.843 (모델이 평균의 84%정도의 정확도로 설명하고 있다. )

- RMSE= 0.014 (실제값과 예측된 y의 오차가 0.014이다. )

LinearRegression() 적용
결과값(R2, RMSE)

 

 

7) 실제값과 예측값 시각화하여 비교

Y_pred(예측값)과 Y_test_df(실제값) 비교 플롯

 

 

728x90
반응형