Post

모델링

모델링

다중 오믹스 데이터를 활용한 췌장암 예측 앙상블 모델 구축

서론

본 글에서는 다중 오믹스 데이터(CNV, 메틸화, 단백질체, 유전자 발현)를 활용하여 췌장암 예측 성능을 향상시키는 앙상블 모델 구축 과정을 상세히 설명합니다. 각 데이터 유형에 대한 개별 모델을 구축하고, 성능을 기반으로 가중 평균 앙상블을 적용하여 최종 예측을 수행합니다.

데이터 로드 및 전처리

  1. 데이터 로드:
    • CNV, 메틸화, 단백질체, 유전자 발현 데이터를 로드합니다.
    • 각 데이터셋은 훈련 데이터(X_train, y_train)와 테스트 데이터(X_test, y_test)로 분리되어 있다고 가정합니다.
    • CNV 데이터는 추가적인 전처리(세그먼트 생성, 가중 평균 계산 등)를 거쳐야 합니다.
  2. CNV 데이터 전처리:
    • create_chromosome_segments 함수를 사용하여 Chromosome 조각 ID를 생성합니다.
    • merged_data를 생성하고, 가중 평균을 계산합니다.
    • wide_data를 생성하여 피벗 테이블 형태로 데이터를 변환합니다.
    • SMOTE를 적용하여 데이터 불균형을 해결합니다.
    • 훈련 데이터와 테스트 데이터를 분할합니다.
    • 랜덤 포레스트를 사용하여 초기 특징 중요도를 계산합니다.
  3. 데이터 불균형 처리 (SMOTE):
    • 각 데이터셋의 불균형을 해결하기 위해 SMOTE(Synthetic Minority Over-sampling Technique)를 적용합니다.
    • 특히, CNV 데이터는 SMOTE 적용 후 선택된 특징을 유지합니다.

개별 모델 구축 및 평가

  1. 모델 로드 및 특징 선택:
    • 각 데이터 유형에 대해 사전 훈련된 최적의 모델(CNN, SVM, MLPClassifier, Logistic regression)을 로드합니다.
    • 메틸화 데이터와 유전자 발현 데이터는 상호 정보량(mutual information)을 사용하여 특징 선택을 수행합니다.
    • 단백질체 데이터는 t-검정을 사용하여 특징 선택을 수행합니다.
    • CNV 데이터는 모든 특징을 사용합니다.
  2. 모델 재학습 및 예측:
    • SMOTE로 처리된 훈련 데이터를 사용하여 각 모델을 재학습합니다.
    • 테스트 데이터에 대해 각 모델의 예측 확률을 계산합니다.
    • predict_proba가 없는 모델의 경우 decision_function을 사용하여 예측 확률을 추정합니다.
    • 특징 불일치 문제를 해결하기 위해 테스트 데이터를 훈련 데이터의 특징에 맞게 재정렬합니다.
  3. 개별 모델 성능 평가:
    • 각 모델의 예측 결과를 기반으로 정확도, F1-score, 혼동 행렬, 분류 보고서를 출력합니다.
    • ROC AUC 및 Precision-Recall 곡선을 시각화합니다.
    • 각 모델의 F1-score를 저장하여 앙상블 가중치 계산에 사용합니다.

앙상블 모델 구축 및 평가

  1. 가중 평균 앙상블:
    • 각 모델의 F1-score를 기반으로 가중치를 계산합니다.
    • 가중치를 사용하여 각 모델의 예측 확률을 가중 평균합니다.
    • 가중치 계산 시 ** 0.5를 적용하여 가중치를 완화합니다.
  2. 최적 임계값 찾기:
    • Precision-Recall 곡선을 사용하여 최적의 임계값을 찾습니다.
    • F1-score를 최대화하는 임계값을 선택합니다.
  3. 앙상블 모델 성능 평가:
    • 최적 임계값을 사용하여 앙상블 예측 결과를 클래스로 변환합니다.
    • 앙상블 모델의 분류 보고서 및 ROC AUC를 출력합니다.
  4. 모델 저장:
    • 앙상블 모델의 예측 결과 및 가중치를 저장합니다.

특징 중요도 분석

  1. 최적 모델 특징 중요도:
    • 최적 모델(F1-score 기준)의 특징 중요도를 시각화합니다.
    • 특징 중요도를 CSV 파일로 저장합니다.
    • 선형 모델의 경우 계수를 사용하여 특징 중요도를 분석합니다.

결과 및 결론

본 글에서 제시된 앙상블 모델은 다중 오믹스 데이터를 효과적으로 통합하여 췌장암 예측 성능을 향상시켰습니다. 각 데이터 유형의 특성을 고려한 특징 선택 및 모델 구축, 그리고 성능 기반 가중 평균 앙상블은 모델의 예측력을 높이는 데 기여했습니다. 향후 추가적인 데이터 및 모델 개선을 통해 췌장암 예측 모델의 성능을 더욱 향상시킬 수 있을 것입니다.

CNV 모델 결과

Gradient Boosting - Final Evaluation: precision recall f1-score support

0 0.97 0.98 0.98 183 1 0.98 0.97 0.98 182 accuracy 0.98 365 macro avg 0.98 0.98 0.98 365 weighted avg 0.98 0.98 0.98 365

XGBoost - Final Evaluation: precision recall f1-score support

0 0.97 0.98 0.98 183 1 0.98 0.97 0.98 182 accuracy 0.98 365 macro avg 0.98 0.98 0.98 365 weighted avg 0.98 0.98 0.98 365

k-NN - Final Evaluation: precision recall f1-score support

0 0.98 0.99 0.99 183 1 0.99 0.98 0.99 182 accuracy 0.99 365 macro avg 0.99 0.99 0.99 365 weighted avg 0.99 0.99 0.99 365

앙상블 결과

Best threshold: 1.018946018995854

Ensemble Performance: precision recall f1-score support

0 0.94 1.00 0.97 51 1 1.00 0.82 0.90 17 accuracy 0.96 68 macro avg 0.97 0.91 0.94 68 weighted avg 0.96 0.96 0.95 68

ROC AUC: 0.9377

으로 나왔습니다.

This post is licensed under CC BY 4.0 by the author.