오늘 한 일
Option A/B: 사출조건→FAI 통합/장비별 fail 예측 모델 비교
Task
사출조건 + FAI raw + 워밍업 피처를 활용한 fail 예측 모델을 통합(Option A)/장비별(Option B) 두 방식으로 구축하고 성능 비교
Option A: 통합 모델 (전체 장비 + MACH_ID categorical)
Feature Set 구성
- 사출조건(공정변수): Cycle Time, 사출 시간, 충진 시간, 최소 쿠션, 충진 피크압, 전 범위 피크압, 보압 완료 위치, 금형온도1, 금형온도2
- FAI raw 연속값: 31개(_NG 접미사 없는 원본 값 전부)
- 워밍업/세그먼트 피처: is_restart_lot, days_since_restart, downtime_duration, lot_seq_in_segment
- 장비 구분: 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 등)는 결과 신뢰도에 단서 필요
'내일배움캠프(본캠프)' 카테고리의 다른 글
| [내일배움캠프] 본캠프 7/10 (1) | 2026.07.10 |
|---|---|
| [내일배움캠프] 본캠프 7/9 (1) | 2026.07.09 |
| [내일배움캠프] 본캠프 7/7 (0) | 2026.07.07 |
| [내일배움캠프] 본캠프 7/6 (1) | 2026.07.06 |
| [내일배움캠프] 본캠프 7/3 (0) | 2026.07.03 |