✅ 오늘 한 것
대시보드 기능 구현 & ESM-2 기반 임베딩 진행 후 머신러닝 최적화 & 피드백
✏️ 오늘 배운 점
피드백
1. 프로젝트 선정 배경 설명 시 실제 백신 개발 현장에서 마주하는 허들(예: 구조적 에피토프의 비율 등)을 기획 단계에서 언급하면 주제의 깊이가 생길 것이다. → 최종 발표 시 조금 더 깊은 배경 설명을 위하여 관련 정보를 추가적으로 기재할 것
2. 95%에 가까운 데이터 불균형이 있었는데 이를 수정하지 않을 경우 모델 평가 지표에 어떠한 영향을 미쳤을지에 대한 언급이 추가되면 좋을 것이다.
3. 대시보드 구축 시 임계값 변화에 따라 결과가 어떻게 달라지는지 확인할 수 있는 요소가 있다면 좋을 것이다.
4. 대시보드에 SHAP 기반의 XAI을 도입할 때 특정 아미노산 서열 패턴이 예측 결과에 미친 생물학적 영향력을 표현할 수 있다면 왜 모델이 해당 Epitope가 양성이라고 예측했는지에 대한 근거 확립이 가능할 것이다. → ESM-2 Attention Map 분석 & In-silico Mutagenesis & SHAP와 물리화학적 피처의 상관관계 분석과 같은 방법을 활용하여 대시보드에 적용할 수 있도록 시도할 예정
5. 모델이 오답이라고 하는 소수의 데이터가 특정 질병 & 실험 조건에 편중되어 있는가 확인하기
6. 단백질 서열의 물리화학적 특성을 반영한 데이터 증강(Augmentation) 기법 구상 및 적용해보기
머신러닝 최적화
1. Stage 1: High Recall 모델 확정 (CatBoost)
후보군을 최대한 놓치지 않고 거르는 단계입니다.
- 모델: CatBoost (범주형 변수 자체 처리 기능을 활용하여 OHE 생략)
- 임계값(Threshold): 0.708
- 전략: scale_pos_weight(50.44)를 매우 높게 설정하여 Recall 0.8 이상을 확보하는 공격적 튜닝을 적용했습니다.
- 결과 파일: models/stage1_catboost_esm2.cbm
2. Stage 2: High Precision 모델 확정 (XGBoost)
선별된 후보 중 진짜를 정밀하게 골라내는 단계입니다.
- 모델: XGBoost
- 임계값(Threshold): 0.818
- 전략: Data Leakage(데이터 누수) 방지를 위해 train_test_split 이후에만 One-Hot Encoding(OHE)을 적용했습니다. Precision 0.8 달성을 목표로 튜닝되었습니다.
- 결과 파일: models/stage2_xgboost_esm2.json & models/stage2_encoder.joblib
3. 하이퍼파라미터 및 데이터 특징 (ESM-2)
ESM-2 임베딩의 특성에 맞춘 정밀 튜닝을 진행했습니다.
- ESM-2 특성: 1280차원의 고차원 데이터이므로 depth를 깊게(10~11) 가져가면서도, l2_leaf_reg와 gamma 등을 통해 과적합을 방지했습니다.
- 파라미터 구성: iterations, learning_rate, depth 외에도 random_strength, bagging_temperature 등 CatBoost와 XGBoost의 세밀한 제어 변수들을 모두 최적화했습니다.
✏️ 오늘의 질문
1. FastAPI & Hugging Face는 각각 어떠한 역할을 하고 있어?
FastAPI: 우리가 진행하고 있는 프로젝트의 경우 사용자가 웹에서 서열을 보냈을 때 모델 파일을 로드해서 실행 후 결과를 전달하는 API 서버 역할을 한다.
Hugging Face: 오픈소스 모델(ESM-2) 다운로드 및 결과물 저장
📌추가로 해야 할 점
대시보드 기능 구현
'품질관리(QAQC) 데이터 부트캠프(본캠프)' 카테고리의 다른 글
| 본캠프_20주차(금)_TIL(PPT 제작) (0) | 2026.01.30 |
|---|---|
| 본캠프_20주차(목)_TIL(PPT 제작 & 대시보드 기능 구현) (0) | 2026.01.29 |
| 본캠프_20주차(화)_TIL(대시보드 구현) (0) | 2026.01.27 |
| 본캠프_20주차(월)_TIL(머신러닝 모델 최적화 & 코드 정리) (0) | 2026.01.26 |
| 본캠프_19주차(금)_TIL(최종 프로젝트) (0) | 2026.01.23 |