프로젝트 4주차 타임라인 (Mon Jan 19 2026)


[7] CB-LGBM 앙상블

모델 파라미터 조정값 설정 목적

CB


depth 7 비선형 상호작용 포착 강화
iterations 600 충분한 학습 반복
learning_rate 0.05 안정적 수렴
l2_leaf_reg 5 정규화를 통한 과적합 방지
LGBM max_depth 6 트리 복잡도 제한으로 과적합 방지
min_child_samples 20 충분한 샘플에서만 분기하여 노이즈 억제
subsample 0.6 샘플 부분 학습으로 분산 감소
colsample_bytree 0.6 특정 feature 의존도 완화
learning_rate 0.05 수렴 안정성과 표현력 균형
scale_pos_weight ≈ 10.07 심한 클래스 불균형 보정

 

High Recall Filtering (threshold = 0.05~0.07)

확률이 낮아도 epitope가능성이 있으면 일단 포함하는 회수 단계

→ 초기 epitope 스크리닝, in silico 후보 풀 생성, 후속 필터링(wet-lab, 구조 기반 분석 등)이 가능한 상황

장점: 중요한 epitope 손실 위험 최소화, 탐색 공간을 넓게 확보

단점: Precision 낮음, False Positive 다수 포함

기준 Recall ≥ 0.85 AND MCC ≥ 0.30
목적 False Negative 최소화
사용 시점 초기 epitope 스크리닝 단계
모델 역할 후보 epitope 최대한 확보
임계값 0.05
성능지표 Precision = 0.21
Recall = 0.91
MCC = 0.39
해석 epitope 후보 최대 확보

문제 설명 solution.py
#122 완호가 관리하는 어떤 데이터베이스의 한 테이블은 모두 정수 타입인 컬럼들로 이루어져 있습니다. 테이블은 2차원 행렬로 표현할 수 있으며 열은 컬럼을 나타내고, 행은 튜플을 나타냅니다. 첫 번째 컬럼은 기본키로서 모든 튜플에 대해 그 값이 중복되지 않도록 보장됩니다. 완호는 이 테이블에 대한 해시 함수를 다음과 같이 정의하였습니다.

(1) 해시 함수는 col, row_begin, row_end을 입력으로 받습니다.
(2) 테이블의 튜플을 col번째 컬럼의 값을 기준으로 오름차순 정렬을 하되, 만약 그 값이 동일하면 기본키인 첫 번째 컬럼의 값을 기준으로 내림차순 정렬합니다.
(3) 정렬된 데이터에서 S_i를 i 번째 행의 튜플에 대해 각 컬럼의 값을 i 로 나눈 나머지들의 합으로 정의합니다.
(4) row_begin ≤ i ≤ row_end 인 모든 S_i를 누적하여 bitwise XOR 한 값을 해시 값으로서 반환합니다.

테이블의 데이터 data와 해시 함수에 대한 입력 col, row_begin, row_end이 주어졌을 때 테이블의 해시 값을 return 하도록 solution 함수를 완성해주세요.
def solution(data, col, row_begin, row_end):
     data.sort(key=lambda x: (x[col - 1], -x[0]))
     answer = 0
     for i in range(row_begin - 1, row_end):
          row_index = i + 1
          S_i = sum(value % row_index
                            for value in data[i])
          answer ^= S_i
     return answer

 

+ Recent posts