프로젝트 2주차 타임라인 (Fri Jan 9 2026)


[4] 모델링 파이프라인

1. PLM Embedding (ProtT5-XL-UniRef50)

(1) Epitope Embedding - 아미노산을 token 단위로 분리 후 Transformer encoder 출력에 mean pooling 적용

(2) Antigen Ebmbedding - Epitope의 start-end 위치를 이용해 중심점을 계산하고 중심 기준 ±8 residues 슬라이싱

 각 epitope와 antigen slice를 1024차원 벡터로 변환 후 X_embeddings.npy로 저장

 

2. 머신러닝

공통 환경 변수 - assay, method, disease, state (One-hot encoding)

비교모델 - Logistic regression, Random Forest, Linear SVM, KNN, XGBoost, MLP(DNN)

  • Epitope Embedding Only (1024-d):
    • 트리 기반 모델(RF, XGB) → ROC-AUC는 높으나 불균형 데이터로 인해 Recall-Precision trade-off 발생
    • MLP → Macro-F1 최고, 불균형 데이터에서도 비교적 안정적적인 성능
  • Epitope + Antigen Embedding (2048-d):
    • MLP → 가장 균형 잡힌 성능 (Macro-F1 ≈ 0.80)
    • XGBoost, CatBoost → ROC-AUC는 높으나 Precision-Recall 간 trade-off 존재

3. Label Imbalance Handling 실험

  단일 모델 앙상블 결과 요약
SMOTE MLP (Macro-F1 최고),
LGBM, XGB (Recall 향상)
LGBM + MLP, XGB + MLP
(MCC, AUPRC, Macro-F1 우수)
SMOTE + MLP 기반
앙상블이 가장 안정적
Class Weight Recall 대폭 상승, Precision 급감 탐지 목적(high recall)에는
유리하지만 정밀 예측에는 부적합
SMOTE
+ Class Weight
XGBoost + MLP (AUPRC, MCC, Macro-F1 모두 상위권) CAT + LGBM + MLP
(전체 성능 지표의 균형이 가장 우수)
 

 

안정성 중심 → LGBM + MLP (SMOTE)

최고 성능 → XGBoost + MLP (SMOTE + Class Weight)

발표/논문용 → XGBoost + LGBM + MLP

Note
앙상블 개수가 높을수록 성능이 높아지지 않으며 단일 지표 기반 모델 선택은 위험할 것 같음
구조적으로 다른 모델 간 조합이 성능 향상의 핵심이 될 것 같음

문제 설명 solution.py
#116 좌표평면을 좋아하는 진수는 x축과 y축이 직교하는 2차원 좌표평면에 점을 찍으면서 놀고 있습니다. 진수는 두 양의 정수 k, d가 주어질 때 다음과 같이 점을 찍으려 합니다. (1) 원점(0, 0)으로부터 x축 방향으로 a*k(a = 0, 1, 2, 3 ...), y축 방향으로 b*k(b = 0, 1, 2, 3 ...)만큼 떨어진 위치에 점을 찍습니다. (2) 원점과 거리가 d를 넘는 위치에는 점을 찍지 않습니다. 정수 k와 원점과의 거리를 나타내는 정수 d가 주어졌을 때, 점이 총 몇 개 찍히는지 return 하는 solution 함수를 완성하세요.
def solution(k, d):
     answer = 0
     for i in range(0, d + 1, k):
          max_y = d * d - i * i
          answer += int(max_y ** 0.5) // k + 1
     return answer

+ Recent posts