[TIL]_2025.06.30 최종 프로젝트 - 11

JIYUU·2025년 6월 30일

데이터 전처리

현재 사용하려는 데이터셋은 크게 세 가지 데이터로 이루어져 있다

데이터 구성

  • 명목형 데이터 : 성별 (1-남성, 2-여성)
  • 연속형 데이터 : 키, 몸무게, BMI
  • 순서형 데이터 : 나머지 설문조사형 데이터 (1-매우 좋음, 2-상당히 좋음, 3-상당히 나쁨, 4-매우 나쁨)

결측치

데이터 내 결측치는 7(응답거부), 8(문항 비해당), 9(모름) 총 3가지로 구성되어 있으며 이중 7과 9는 중앙값으로 대체하였으며 8은 0으로 대체하여 문항에 대해 값이 없는 것으로 인식할 수 있게끔 처리했다.

이상치

df.describe()로 데이터의 최소값과 최대값을 확인했을 때에 주중 평균 수면시간, 주말 평균 수면시간의 최대값과 최소값에 상식적으로 판단했을 때에 이상치로 간주될만한 데이터가 있어 IQR을 활용하여 이상치를 중앙값으로 대체했다.

스케일링

명목형, 연속형, 순서형 데이터는 각자 범위가 다 다르지만 트리 기반 모델이기 때문에 스케일링은 불필요하다.
트리 기반 모델은 특정 변수의 절대적인 크기보다 데이터 분할 시(노드 분할 시) 정보 획득량을 최대화하는 상대적인 조건에 따라서 의사 결정을 내리기 때문에 변수들의 스케일이 서로 다르더라도 모델의 성능에는 큰 영향을 미치지 않는다.
또한 분할 과정에서 범주 간의 순서 정보를 활용할 수 있기 때문에 별도의 one-hot encoding도 불필요하다.

one-hot encoding이 트리 기반 모델의 성능을 저하시키는 이유

트리 기반 모델에서의 특성의 스케일링이나 일반화가 필요하지 않은 이유는?

가구가중치?
표본설계의 표본추출과정을 고려한 가구추출률, 조사 적격 가구율, 주택 유형별
가구비율을 반영한 가중치
개인가중치?
가구가중치에 개인응답률을 반영한 가중치

  • 이 두가지 값은 예측 모델 생성시 수집하기 어려우며 지역사회건강조사에서만 필요한 데이터이기 때문에 변수에서 제거

모델링 및 평가

  • 2024년도 지역사회건강조사 데이터 기반 ML 모델링
    스트레스, 우울감이 인지장애 컬럼과 유의미한 상관관계가 있어보여서 진행했으나 트리 기반 모델의 성능이 높지 않아,
    전체 컬럼을 활용하여 학습 및 평가 진행해봄

  • 2차 결과

{
    "classifier": "LightGBM",
    "n_estimators": 148,
    "learning_rate": 0.03970016549453845,
    "max_depth": 19,
    "num_leaves": 89,
    "subsample": 0.711017812844031,
    "colsample_bytree": 0.6364124383087355,
    "threshold": 0.35527371406289066
}
지표값
Accuracy0.7575
Precision0.5611
Recall0.6061
F1 Score0.5827
ROC AUC0.7804

실제 0 (정상)실제 1 (인지장애 경험)
예측 01101248
예측 1206317

클래스PrecisionRecallF1-ScoreSupport
0 (정상)0.84240.81620.82911349
1 (인지장애)0.56110.60610.5827523
Macro Avg0.70170.71110.70591872
Weighted Avg0.76380.75750.76021872

{
    "classifier": "RandomForest",
    "n_estimators": 113,
    "max_depth": 14,
    "min_samples_split": 9,
    "max_features": "sqrt",
    "criterion": "log_loss",
    "threshold": 0.37463927217206133
}
지표값
Accuracy0.7286
Precision0.5129
Recall0.6088
F1 Score0.5567
ROC AUC0.7626

실제 0 (정상)실제 1 (인지장애 경험)
예측 01045303
예측 1205319

클래스PrecisionRecallF1-ScoreSupport
0 (정상)0.8360.77520.80451348
1 (인지장애)0.51290.60880.5567524
Macro Avg0.67440.69200.68061872
Weighted Avg0.74550.72860.73511872

성능이 크게 향상되지 않았기 때문에 추가적인 데이터 전처리 진행

0개의 댓글