내일배움캠프(본캠프)

[내일배움캠프] 본캠프 7/8

anscodus 2026. 7. 8. 20:56

오늘 한 일

Option A/B: 사출조건→FAI 통합/장비별 fail 예측 모델 비교

Task

사출조건 + FAI raw + 워밍업 피처를 활용한 fail 예측 모델을 통합(Option A)/장비별(Option B) 두 방식으로 구축하고 성능 비교

Option A: 통합 모델 (전체 장비 + MACH_ID categorical)

Feature Set 구성

  1. 사출조건(공정변수): Cycle Time, 사출 시간, 충진 시간, 최소 쿠션, 충진 피크압, 전 범위 피크압, 보압 완료 위치, 금형온도1, 금형온도2
  2. FAI raw 연속값: 31개(_NG 접미사 없는 원본 값 전부)
  3. 워밍업/세그먼트 피처: is_restart_lot, days_since_restart, downtime_duration, lot_seq_in_segment
  4. 장비 구분: MACH_ID를 categorical feature로 인코딩

제외: 모든 *_NG 컬럼, 기타_NG항목, 식별자성 컬럼(UUID, SN, Tray_Barcode, LOTN 등), 원본 타임스탬프 컬럼

3가지 feature 조합 비교 결과

조합 구성 AUC Recall F1

조합1 사출조건만 (baseline) 0.4548 - -
조합2 사출조건 + FAI raw 0.7418 - -
조합3 전체(+워밍업+MACH_ID) 0.7372 0.6446 0.7146

핵심 발견

  • 사출조건 단독으로는 판별력 없음(AUC < 0.5) — 시점 무관하게 안정적 신호 확보 실패, 기존 distribution shift 결론과 일치
  • FAI raw 추가 시 성능 크게 개선(0.4548 → 0.7418)
  • Sanity check 결과: FAI raw의 예측력 대부분이 이미 알려진 NG 판정을 재구성하는 것에 불과함 — AUC 상승분의 83%가 "이미 트래킹된 NG 재구성"에서 옴, 순수하게 트래킹 안 된 실패 포착분은 +0.087에 불과

Option B: 장비별 개별 모델

장비별 데이터 가용성 점검 (기준: train/test 각 500shot 이상 & fail 30건 이상 & segment 2개 이상)

장비 제외 사유

F01 test 구간에 데이터 전혀 없음 (2025-12-01 이전 가동 종료)
E08 segment 1개뿐 (재가동 없이 연속 가동, 워밍업 신호 없음)
F07 E08과 동일 사유

→ 나머지 10개 장비(F06, F08, F03, E07, E09, F04, E10, F02, E05, E06)로 모델링 진행

장비별 Feature 조합 (B1/B2/B3)

  • B1: 사출조건만
  • B2: 사출조건+워밍업 (FAI raw 제외)
  • B3: 전체+FAI raw

장비별 성능 편차 (B3 기준 예시)

장비 train fail 건수 B3 AUC 비고

E07 6,350 0.809 가장 높은 성능
F08 6,329 0.576 E07과 fail 건수 비슷하나 성능 낮음
E06 334 - train fail 최소, Recall 0.309/F1 0.427로 신뢰도 낮음(표본 부족)
  • E07/F08처럼 fail 건수가 비슷해도 성능 차이가 크다는 건 fail 건수만으로 성능이 결정되지 않는다는 뜻 — 장비 고유 데이터 특성(FAI117 계열 신호 강도 등)의 영향으로 추정, 별도 분석 가치 있음
  • E06은 표본 부족으로 결과 인용 시 반드시 단서 필요

Option A vs Option B 성능 비교 (가중평균 기준)

비교 Option A Option B(가중평균) 결과

FAI raw 포함 (조합3 vs B3) AUC 0.7372 AUC 0.6704 Option A 우세
FAI raw 제외 (조합1 vs B2) AUC 0.4548 AUC 0.5615 Option B 우세

해석

  • FAI raw 포함 시: 통합 모델(A)이 우수. 장비 분리 시 장비당 데이터가 1,300~15,000행으로 줄어(A는 전체 134,253행 사용), 장비 특화 이득보다 데이터 손실 손해가 더 큼
  • FAI raw 제외 시: 장비별 분리(B)가 뚜렷이 우수. 통합 모델에서는 장비마다 다른 baseline이 서로 상쇄되어 신호가 희석됨. 다만 AUC 0.56은 실무 활용엔 여전히 약한 수준

장비별 SHAP 비교 (fail 건수 상위 4개 장비: E07, F08, F06, F03)

  • FAI117_V1: 4개 장비 모두 Top10 포함 → 장비 공통 핵심 신호
  • FAI117_V2, FAI123_U, lot_seq_in_segment, FAI01, FAI72_1: 4개 중 3개 장비에서 Top10 포함 → 준-공통 신호
  • Top10 합집합 크기 40개 중 21개 → 각 장비 Top10의 상당 부분은 장비 고유 feature로 채워짐
    • F08 고유: FAI21_P2 / E07 고유: FAI21_P36, FAI72_2 / F06 고유: FAI37_2, FAI20_P2 / F03 고유: FAI20_P3, days_since_restart
  • 공통 핵심 신호와 장비별 부차 신호가 혼재하는 중간적 양상. 공통 신호(FAI117 등) 비중이 커서 데이터 공유 방식(A)이 효율 면에서 유리하나, 장비 고유 신호도 분명 존재해 완전히 무의미한 차이는 아님

종합 결론

  • Option A(FAI raw 포함)를 baseline 메인 후보로, Option B는 참고/비교용으로 유지
  • FAI raw의 예측력은 상당 부분 "이미 알려진 NG의 재구성"에 가까움 → 순수 설명력은 생각보다 제한적(+0.087)이라는 점을 baseline 해석 시 반영 필요
  • MACH_ID importance가 유의미하게 나와 Option B 진행 근거가 됨 — 다만 표본 부족 장비(E06 등)는 결과 신뢰도에 단서 필요