오늘 한 일
- kaggle 개인과제
- 데이터 선정
1. 키워드 기반 데이터셋 검색
a. 키워드 - semiconductor
b. code탭으로 분석 방향성 정립
반도체 제조 공정 중 센서 데이터(온도, 압력, 가스 흐름 등)를 분석하여 해당 웨이퍼의 결함(Defect)여부 예측.
code 탭의 데이터 활용 예시에서는 머신러닝을 이용해 센서에 감지된 수치로 결함판단을 예측하는 알고리즘을 구현하였으나, 나는 해당 데이터로 비교적 간단하게 불량 검출 가설을 세울 예정이다.
c. 데이터셋 링크와 선택 이유 정리
선택 이유 : 반도체 결함 원인 분석 연습에 사용되는 데이터라서 활용하기 좋을 것 같았다.
- 데이터 기반 특징 분석
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 : 공정 속도와 관련된 지표로, 압력/온도 변화에 직접적인 영향을 받음
'내일배움캠프(사전캠프)' 카테고리의 다른 글
| [내일배움캠프] 사전캠프 (16일차) (0) | 2026.03.06 |
|---|---|
| [내일배움캠프] 사전캠프 (15일차) (0) | 2026.03.05 |
| [내일배움캠프] 사전캠프 (13일차) (0) | 2026.03.03 |
| [내일배움캠프] 사전캠프 (12일차) (0) | 2026.02.27 |
| [내일배움캠프] 사전캠프 (11일차) (0) | 2026.02.26 |