품질관리(QAQC) 데이터 부트캠프(본캠프)

본캠프_18주차(화)_TIL(최종 프로젝트)

Wat_zy 2026. 1. 13. 08:35

✅ 오늘 한 것

최종 프로젝트


✏️ 오늘 배운 점

모델 특성에 따른 불균형 데이터 처리 (Imbalanced Data Strategy)

가장 큰 깨달음은 "SMOTE가 만능은 아니다"라는 점이다. 모델의 학습 방식에 따라 전략을 다르게 가져가야 한다.

🌲 트리 계열 (XGBoost, RF, CatBoost, LightGBM)

  • 특징: 데이터를 수직/수평으로 자르는(Splitting) 방식.
  • 전략: SMOTE 비추천. 가짜 데이터가 생성되면 결정 경계(Decision Boundary)가 모호해져 과적합될 위험이 크다.
  • 해결책: scale_pos_weight나 class_weight 파라미터를 사용하여 소수 클래스(Positive)에 벌점(Penalty/Weight)을 더 주는 방식이 훨씬 효과적이고 빠르다.

🧠 거리/경계 기반 (MLP, Logistic Regression)

  • 특징: 데이터를 가르는 부드러운 선이나 면을 찾는 방식.
  • 전략: SMOTE 추천. 데이터가 희소(Sparse)하면 선을 긋기 어려운데, SMOTE가 빈 공간을 채워주어 경계선을 명확하게 하는 데 도움을 준다.

🚀 [핵심] 하이브리드 앙상블 (Hybrid Ensemble)

Precision(정밀도)을 높이면서도 놓치는 것을 방지하기 위해 두 전략을 섞는다.

  • Tree: 가중치만 살짝 적용 (Lite Weighting, 약 20% 반영) → High Precision 담당
  • MLP: 파이프라인 내부에 SMOTE 적용 → Recall 보완 담당
  • 결과: VotingClassifier로 이 둘을 결합하여 상호 보완적인 모델 구축.
 

2. 단백질 서열 데이터 전처리 (Preprocessing Engineering)

🧬 FASTA 파일 변환의 이유

데이터프레임(CSV)이 있는데 굳이 FASTA로 변환하는 이유는?

  1. 표준성: ProtT5, ESM 등 대다수 단백질 언어 모델이 FASTA 형식을 입력으로 받음.
  2. 메모리 효율: 불필요한 메타데이터 없이 ID와 Sequence만 메모리에 올려 임베딩 속도 최적화.
  3. 작업 분리: 전처리(Pandas)와 모델링(Torch/Embedding) 과정을 물리적으로 분리하여 파이프라인 안정성 확보.

✂️ 고정 길이 슬라이싱 (Fixed-length Slicing)

모델 입력 차원을 맞추기 위해 가변적인 에피토프 길이를 16자로 고정하는 로직.

  1. Centering: 에피토프의 중심점 계산.
  2. Windowing: 중심 기준 좌우 8칸씩 확장.
  3. Shifting (Edge Case): 서열 맨 앞이나 맨 뒤에 있을 경우, 인덱스 에러가 나지 않도록 안쪽으로 범위를 당겨서(Shift) 무조건 16자를 채움.

3. 데이터 선별과 EDA (Domain Insight)

🧪 Assay 필터링

수많은 실험 데이터 중 Antibody binding과 Qualitative binding만 남긴 이유.

  • Direct Evidence: 항원-항체의 "물리적 결합" 그 자체를 의미하는 가장 순수한 정답지(Ground Truth).
  • Noise Reduction: T-cell 반응, 중화(Neutralization) 반응 등은 메커니즘이 다르거나 복합적이어서, 단순 결합 예측 모델에는 노이즈가 됨.

📊 Method & State

  • Method: X-ray 같은 구조적 방법인지, Peptide array 같은 서열 기반 방법인지 파악하여 데이터 신뢰도 확인.
  • State: 단백질이 Native(자연 상태)인지 Denatured(변성)인지에 따라 3D 구조 정보의 유효성이 달라짐.

📌추가로 해야 할 점

최종 프로젝트