html
파이썬에서 다중 선형 회귀 마스터하기: 종합 가이드
파이썬에서 다중 선형 회귀를 사용하여 예측 분석의 힘을 활용하세요. 데이터 과학 애호가이든 숙련된 전문가이든 관계없이 이 가이드는 강력한 파이썬 라이브러리를 사용하여 다중 선형 회귀 모델을 구축, 평가 및 최적화하는 방법을 안내합니다. 데이터 모델링 기술을 향상시키고 통찰력 있는 결정을 내리기 위해 지금 시작하세요.
목차
다중 선형 회귀 소개
다중 선형 회귀는 두 개 이상의 예측 변수를 기반으로 목표 변수의 결과를 예측하는 기본적인 통계 기법입니다. 단순 선형 회귀가 단일 독립 변수에 의존하는 반면, 다중 선형 회귀는 데이터 관계를 보다 포괄적으로 이해할 수 있어 경제학, 의학, 공학과 같은 분야에서 매우 유용합니다.
데이터셋 이해하기
이 가이드에서는 의료 비용 개인 데이터셋(여기 Kaggle에서 접근 가능)을 활용합니다. 이 데이터셋에는 개인의 의료 비용 및 연령, 성별, BMI, 자녀 수, 흡연 상태, 지역 등 의료 비용에 영향을 미칠 수 있는 다양한 요인에 대한 정보가 포함되어 있습니다.
샘플 데이터:
age
sex
bmi
children
smoker
region
charges
19
female
27.9
0
yes
southwest
16884.924
18
male
33.77
1
no
southeast
1725.5523
28
male
33
3
no
southeast
4449.462
...
...
...
...
...
...
...
charges은 개인에게 청구된 의료 비용을 나타내는 목표 변수입니다.
환경 설정
데이터 분석에 들어가기 전에 필요한 도구가 설치되어 있는지 확인하세요. 다음을 사용할 것입니다:
- Python 3.x
- Jupyter Notebook
- 라이브러리: NumPy, Pandas, Matplotlib, Seaborn, Scikit-Learn
다음 pip
명령어를 사용하여 필요한 라이브러리를 설치할 수 있습니다:
1
pip install numpy pandas matplotlib seaborn scikit-learn
데이터 전처리
데이터 전처리는 원시 데이터를 모델링에 적합한 형식으로 정리하고 변환하는 중요한 단계입니다.
라이브러리 가져오기
필수 파이썬 라이브러리를 가져오는 것으로 시작하세요:
12345
import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snssns.set()
데이터 로드하기
데이터셋을 Pandas DataFrame에 로드하세요:
1
data = pd.read_csv('S07_datasets_13720_18513_insurance.csv')
데이터 탐색하기
데이터셋의 구조와 내용을 이해하세요:
1
data.head()
출력:
age
sex
bmi
children
smoker
region
charges
19
female
27.9
0
yes
southwest
16884.924
18
male
33.77
1
no
southeast
1725.5523
28
male
33
3
no
southeast
4449.462
33
male
22.705
0
no
northwest
21984.47061
32
male
28.88
0
no
northwest
3866.8552
범주형 변수 원-핫 인코딩
머신 러닝 모델은 숫자 입력을 필요로 합니다. 따라서 sex
, smoker
, region
과 같은 범주형 변수를 원-핫 인코딩을 사용하여 숫자 형식으로 변환해야 합니다.
1234567891011
from sklearn.preprocessing import OneHotEncoderfrom sklearn.compose import ColumnTransformer # Define the column transformer with OneHotEncoder for categorical columnscolumnTransformer = ColumnTransformer( [('encoder', OneHotEncoder(), [1, 4, 5])], remainder='passthrough') # Apply the transformation to the feature setX = columnTransformer.fit_transform(X)
설명:
ColumnTransformer
는 지정된 열에 트랜스포머를 적용합니다.
OneHotEncoder
는 범주형 변수를 이진 벡터로 변환합니다.
remainder='passthrough'
는 지정되지 않은 열이 변경되지 않고 그대로 유지되도록 합니다.
데이터 분할하기
데이터셋을 훈련 세트와 테스트 세트로 나누어 모델의 성능을 효과적으로 평가하세요.
12345
from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split( X, Y, test_size=0.20, random_state=1)
매개변수:
test_size=0.20
은 데이터의 20%를 테스트에 할당합니다.
random_state=1
은 재현성을 보장합니다.
다중 선형 회귀 모델 구축하기
데이터를 준비했으니 회귀 모델을 구축하고 훈련시킬 시간입니다.
1234567
from sklearn.linear_model import LinearRegression # Initialize the modelmodel = LinearRegression() # Train the model on the training datamodel.fit(X_train, y_train)
핵심 포인트:
- LinearRegression()은 Scikit-Learn의 선형 모델을 구현하는 간단한 방법입니다.
.fit()
메서드는 훈련 데이터를 사용하여 모델을 훈련시킵니다.
예측하기
훈련된 모델을 사용하여 테스트 세트를 기반으로 비용을 예측하세요.
1
y_pred = model.predict(X_test)
실제 값과 예측 값 비교하기
실제 값과 예측 값 간의 차이를 분석하면 모델의 성능에 대한 통찰력을 얻을 수 있습니다.
1234
comparision = pd.DataFrame()comparision['Actual'] = y_testcomparision['Predicted'] = y_predcomparision
샘플 출력:
Actual
Predicted
1646.4297
4383.680900
11353.2276
12885.038922
8798.5930
12589.216532
...
...
5227.98875
6116.920574
관찰 사항:
- 일부 예측은 실제 값과 밀접하게 일치합니다.
- 불일치는 모델이 개선될 수 있는 영역을 나타냅니다.
모델 성능 평가하기
모델의 정확도를 R-제곱(R²) 지표를 사용하여 평가하세요. R²는 모델이 설명하는 분산의 비율을 나타냅니다.
1234
from sklearn.metrics import r2_score r2 = r2_score(y_test, y_pred)print(f"R² Score: {r2:.2f}")
출력:
1
R² Score: 0.76
해석:
- R²가 0.76이라는 것은 의료 비용 분산의 약 76%가 모델에 의해 설명된다는 것을 의미합니다.
- 유망하지만 더 높은 정확도를 달성하기 위해 개선의 여지가 있습니다.
결론
파이썬에서 다중 선형 회귀 모델을 구축하는 것은 데이터 전처리와 범주형 변수 인코딩에서 모델 훈련 및 성능 평가에 이르기까지 여러 중요한 단계를 포함합니다. 이 가이드는 의료 비용 개인 데이터셋을 사용하여 파이썬의 강력한 라이브러리를 활용한 예측 분석 방법을 종합적으로 설명했습니다.
다음 단계:
- 특성 공학: 모델 성능을 향상시키기 위해 새로운 특성을 생성하거나 기존 특성을 변환하는 방법을 탐색하세요.
- 모델 최적화: 더 나은 정확도를 달성하기 위해 다양한 알고리즘이나 하이퍼파라미터를 실험하세요.
- 과적합 처리: 교차 검증이나 정규화와 같은 기술을 구현하여 모델이 훈련 데이터를 암기하는 것을 방지하세요.
이러한 전략을 활용하여 모델을 더욱 정제하고 데이터에서 더 깊은 통찰력을 얻으세요. 행복한 모델링 되세요!
추가 자료
- Jupyter Notebook: 전체 노트북에 여기에서 접근하세요 *(실제 링크로 대체하세요)*
- 데이터셋: Kaggle의 의료 비용 개인 데이터셋
- Scikit-Learn 문서: 선형 회귀
키워드: 파이썬에서 다중 선형 회귀, 데이터 전처리, 원-핫 인코딩, Scikit-Learn, 모델 평가, R-제곱, 예측 분석, 의료 비용 예측, 파이썬 데이터 과학, 머신 러닝 튜토리얼