🤔 지금 왜 이걸 하고 있을까?(PCA 전까지 설명)

→ 전기차 배터리 팩의 품질 이상을 조기에 감지하기 위해, 센서 데이터를 기반으로 비정상 상태(NG)를 자동 판별할 수 있는 AI 모델을 만들기 위함.

목적 이유
전처리 센서 데이터를 모델이 읽기 쉬운 형태로 바꾸기 위함
이상 탐지 제품 품질(NG)을 자동으로 판단할 수 있는 모델 만들기 위함
시각화/분석 어떤 센서에서 이상이 나타나는지 패턴을 보기 위함
학습/테스트 구분 모델 학습과 평가를 분리하여 정확한 검증을 위함

🗂️ 폴더 구조 설명

📁 raw_data/

📁 preprocessed/

📁 현재 파일 구조 (의미 포함 요약)

폴더 내용
raw_data/train/ 무라벨 학습용 충전/방전 데이터
raw_data/test/ NG/OK 여부가 있는 테스트 데이터
preprocessed/train/ 전처리된 학습용 데이터
preprocessed/test/ 전처리된 테스트 데이터
TestXX_OK/NG_chg/dchg.csv OK/NG 상태의 라벨링된 검증용 데이터

image.png

1️⃣ 📁 데이터셋 이해 및 탐색

✔️ 각 파일이 의미하는 것

파일명 의미
chg 충전 중 측정한 배터리 상태
dchg 방전 중 측정한 배터리 상태
OK 품질에 문제가 없는 정상 데이터
NG 품질 불량(이상치 또는 고장 가능성) 데이터

💡 파일 구조 파악

2️⃣ 🧹 전처리 과정

📌 주요 전처리 단계

단계 설명
① 상수값 제거 removeConstant() 사용 → 의미 없는 컬럼 제거
② 결측치 보완 handleMissingValue()로 NaN 보간 처리
③ 전압 + 온도 센서 선택 M01CVxx ~ M16CVxx + M01T01 ~ M16T02 컬럼 추출
④ 저장 /data/preprocessed/ 경로에 전처리 결과 저장

💡 훈련 데이터(train)와 테스트 데이터(test)가 동일한 컬럼 구성이어야 모델 적용 가능!

전처리 함수 구성

3️⃣ ✅ 훈련용 데이터 준비

훈련 데이터 전처리


4️⃣ ✅ 테스트용 NG 데이터 전처리

테스트 데이터 전처리

5️⃣ 🧠 이상치 탐지 모델 적용 준비

이상 탐지용 모델 준비 (예: IsolationForest)

6️⃣결과 저장 및 시각화