내일배움캠프(사전캠프)

[내일배움캠프] 사전캠프 (14일차)

anscodus 2026. 3. 4. 18:07

오늘 한 일

  • kaggle 개인과제

  • 데이터 선정

1. 키워드 기반 데이터셋 검색

 

 a. 키워드 - semiconductor

 

 b. code탭으로 분석 방향성 정립

더보기

반도체 제조 공정 중 센서 데이터(온도, 압력, 가스 흐름 등)를 분석하여 해당 웨이퍼의 결함(Defect)여부 예측.

code 탭의 데이터 활용 예시에서는 머신러닝을 이용해 센서에 감지된 수치로 결함판단을 예측하는 알고리즘을 구현하였으나, 나는 해당 데이터로 비교적 간단하게 불량 검출 가설을 세울 예정이다.

 c. 데이터셋 링크와 선택 이유 정리

더보기

https://www.kaggle.com/datasets/meruvakodandasuraj/semiconductor-wafer-defect-classification-dataset/data

선택 이유 : 반도체 결함 원인 분석 연습에 사용되는 데이터라서 활용하기 좋을 것 같았다.


  • 데이터 기반 특징 분석

1. SQL 기반 10가지 특징 분석

1) 전체 데이터 조회

더보기
select *
from semiconductor_wafer_defect_dataset

2) 각 공정별 정상/불량 간 평균치 비교

더보기
SELECT 
    process_step,
    defect_label,
    COUNT(*) AS sample_count,                   -- 각 그룹의 데이터 개수
    ROUND(AVG(temperature_c), 2) AS avg_temp,   -- 평균 온도
    ROUND(AVG(pressure_torr), 2) AS avg_press,  -- 평균 압력
    ROUND(AVG(voltage_v), 2) AS avg_voltage,    -- 평균 전압
    ROUND(AVG(current_ma), 2) AS avg_current,   -- 평균 전류
    ROUND(AVG(gas_flow_sccm), 2) AS avg_gas     -- 평균 가스 유량
FROM semiconductor_wafer_defect_dataset
GROUP BY process_step, defect_label
ORDER BY process_step, defect_label;

 

3) 각 공정별 온도 (최소/최대/평균) [단위:℃]

더보기
select process_step,
	   min(temperature_c) min_temperature_c ,
	   max(temperature_c) max_temperature_c ,
	   avg(temperature_c) avg_temperature_c 
from semiconductor_wafer_defect_dataset
group by process_step

 

 

4) 각 공정별 압력 (최소/최대/평균) [단위: torr]

더보기
select process_step,
	   min(pressure_torr) min_pressure_torr ,
	   max(pressure_torr) max_pressure_torr ,
	   avg(pressure_torr) avg_pressure_torr 
from semiconductor_wafer_defect_dataset
group by process_step

 

 

5) 각 공정별 gas flow (최소/최대/평균) [단위: sccm]

더보기
select process_step,
	   min(gas_flow_sccm) min_gas_flow_sccm ,
	   max(gas_flow_sccm) max_gas_flow_sccm ,
	   avg(gas_flow_sccm) avg_gas_flow_sccm 
from semiconductor_wafer_defect_dataset
group by process_step

 

6) 각 공정별 etch rate (최소/최대/평균) [단위: nm/min]

더보기
select process_step,
	   min(etch_rate_nm_min) min_etch_rate_nm_min ,
	   max(etch_rate_nm_min) max_etch_rate_nm_min ,
	   avg(etch_rate_nm_min) avg_etch_rate_nm_min 
from semiconductor_wafer_defect_dataset
group by process_step

 

7) 각 공정별 전압 (최소/최대/평균) [단위: v]

더보기
select process_step,
	   min(voltage_v) min_voltage_v ,
	   max(voltage_v) max_voltage_v ,
	   avg(voltage_v) avg_voltage_v 
from semiconductor_wafer_defect_dataset
group by process_step

 

8) 각 공정별 전류 (최소/최대/평균) [단위: ma]

더보기
select process_step,
	   min(current_ma) min_current_ma ,
	   max(current_ma) max_current_ma ,
	   avg(current_ma) avg_current_ma 
from semiconductor_wafer_defect_dataset
group by process_step

 

9) defect_label 이 1로 분류 된 것만 출력(불량품)

더보기
select *
from semiconductor_wafer_defect_dataset
where defect_label = 1

 

10) 결측값 확인

더보기
select *
from semiconductor_wafer_defect_dataset
where temperature_c is null 
	  or pressure_torr is null
	  or gas_flow_sccm is null
	  or etch_rate_nm_min is null
	  or voltage_v is null
	  or current_ma is null
	  or process_step is null
	  or defect_label is null

 

셀이 비어있는 데이터는 없는 것 같다

 

 

혹시 몰라서 숫자데이터에 0이 입력되어있거나, 문자데이터에 공백이 있는지도 검사해보았다.

 

2. 중요 특징 5가지 최종 선정

- pressure : 정상군 대비 불량군에서 약 10% 이상의 뚜렷한 압력 저하가 관찰됨

- temperature : Oxidation, Etching 공정 등에서 불량 발생 시 온도가 상승하는 경향이 있음

- voltage :  Lithograohy 공정에서 불량 발생 시 전압이 5.54로 튀는 현상이 발견됨

- current : 전압과 함께 변동하며 공정 에너지 투입량을 결정함

- etch_rate_nm_min : 공정 속도와 관련된 지표로, 압력/온도 변화에 직접적인 영향을 받음