내일배움캠프(본캠프)

[내일배움캠프] 본캠프 6/26

anscodus 2026. 6. 26. 20:56

오늘 한 일

데이터 전처리랑 기획서 

 

 

주요 수행 내용:

  • Test_Pass(PASS / FAIL / INVALID) 분포 파악 및 유효 데이터 범위 확정
  • Error_Message 결측 여부를 이진 변수로 변환하여 PASS/FAIL과의 통계적 연관성 검증
  • LOT당 쇼트(shot) 수 분포 분석을 통한 회귀 타겟 변수(LOT 수율)의 적합성 사전 점검
  • 모델링 전 데이터 클렌징 기준(INVALID 제거, shot 수 10개 미만 LOT 제거) 도출 및 df_clean 생성

2-1. Test_Pass 분포 분석

전체 237,039건의 데이터를 대상으로 타겟 변수 분포를 확인하였다.

구분 건수 비율(%)

FAIL 119,800 50.54%
PASS 114,886 48.47%
INVALID 2,353 0.99%
전체 237,039 100%

시각화: 전체 파이차트, INVALID 제외 파이차트, 범주별 건수 막대그래프(3개 subplot)

 

2-2. Error_Message_binary vs Test_Pass 연관성 분석

Error_Message 컬럼의 결측 여부를 이진 변수로 변환(비결측=1, 결측=0)하여 Test_Pass와의 관계를 검증하였다.

적용 분석 기법:

  • 크로스탭(건수 및 행 기준 비율)
  • 포인트 이분 상관계수(Point-Biserial Correlation)
  • 카이제곱 검정(Chi-square test)

시각화: PASS/FAIL 비율 누적 막대그래프 및 절대 건수 그룹 막대그래프

2-3. LOT당 쇼트 수 분포 분석

사출 성형에서 쇼트(shot)는 금형 주입 1사이클을 의미하며, 데이터 1행 = 쇼트 1회에 해당한다. LOT 수율은 「LOT 내 PASS 쇼트 수 / 전체 쇼트 수 × 100」으로 정의된다.

LOT당 쇼트 수가 너무 적을 경우 수율이 0 / 50 / 100% 등 계단형으로만 분포하게 되어 회귀 타겟으로서의 연속성이 훼손된다. 이를 사전에 확인하기 위해 전체 및 월별 LOT당 쇼트 수 분포를 점검하였다.

시각화:

  • 전체 분포: 히스토그램(로그 스케일) + 구간별 LOT 수 막대그래프
  • 월별 분포: 박스플롯 + 쇼트 10개 미만 LOT 비율 막대그래프

3-1. 타겟 변수 분포

  • PASS / FAIL 비율이 약 49 : 51로 거의 균형잡힌(balanced) 이진 분류 문제임이 확인되었다.
  • SMOTE 등의 클래스 불균형 보정이 불필요하거나 최소화 가능하다.
  • INVALID(0.99%)는 검사 오류/미검사 추정 노이즈로 모델링 전 제외 처리한다.

3-2. Error_Message_binary 연관성

  • 카이제곱 검정 및 포인트 이분 상관계수를 통해 Error_Message 결측 여부와 PASS/FAIL 간 통계적 연관성을 정량화하였다.
  • Error_Message는 AOI 검사 이후 기록되는 후처리 정보일 가능성이 높아, 실시간 예측 피처로 사용 시 데이터 누수(Data Leakage) 위험이 존재한다.
    • → Error_Message가 사출공정 ~ 비전검사 사이 시점으로 추정되는데, 이 경우 Test_Pass가 반영된 데이터 누수는 아닐 가능성 존재.
  • 모델링 단계에서 해당 변수의 피처 포함 여부를 재검토할 예정이다.

3-3. LOT당 쇼트 수 및 클렌징 기준

  • 쇼트 수 10개 미만인 LOT의 비율이 상당수 존재하였으며, 해당 LOT의 수율은 계단형으로 분포하여 회귀 타겟 적합성이 낮다고 판단되었다.
  • 전처리 기준: INVALID 제거 + LOT당 쇼트 수 10개 미만 LOT 전체 제거 → df_clean 확정.
  • df_clean의 Test_Pass 분포는 FAIL과 PASS의 균형이 유지됨을 최종 확인하였다.

(df_clean : 전처리 완료한 데이터)