본문으로 건너뛰기
실습하기

데이터를 먹기 좋게 요리하는 전처리(Preprocessing)

데이터 전처리는 데이터를 분석하거나 AI 모델을 학습시키기 전에 데이터를 정리하고 변환하는 과정을 뜻합니다.

쉽게 말해, 정돈되지 않거나 불완전할 수 있기 원본 데이터를 깨끗하고 일관된 상태로 만드는 과정입니다.


왜 전처리가 필요한가요?

데이터는 다음과 같은 문제를 가질 수 있습니다.

  • 결측값 (Missing values): 데이터의 일부가 누락된 경우

  • 중복값 (Duplicate values): 동일한 데이터가 여러 번 포함된 경우

  • 불일치 데이터 (Inconsistent data): 데이터 형식이 일관되지 않은 경우


JSONL 데이터 전처리 예시

다음과 같이 JSONL 데이터셋 내 결측값을 처리하고, 데이터 형식을 일관되게 변환하고, 중복값을 제거할 수 있습니다.

원본 JSONL 데이터
{"name": "홍길동", "age": "30", "city": "서울"}
{"name": "이순신", "age": 40, "city": "부산"}
{"name": "강감찬", "city": "인천"}
{"name": "홍길동", "age": "삼십", "city": "서울"}

결측값 처리된 JSONL 데이터
{"name": "홍길동", "age": "30", "city": "서울"}
{"name": "이순신", "age": 40, "city": "부산"}
{"name": "강감찬", "age": 0, "city": "인천"} // 나이가 없는 경우 0으로 대체
{"name": "홍길동", "age": "삼십", "city": "서울"}

불일치 데이터 형식 변환된 JSONL 데이터
{"name": "홍길동", "age": 30, "city": "서울"}
{"name": "이순신", "age": 40, "city": "부산"}
{"name": "강감찬", "age": 0, "city": "인천"}
{"name": "홍길동", "age": 30, "city": "서울"} // '삼십'을 숫자 30으로 변환

중복값 제거된 JSONL 데이터
{"name": "홍길동", "age": 30, "city": "서울"}
{"name": "이순신", "age": 40, "city": "부산"}
{"name": "강감찬", "age": 0, "city": "인천"}
// "홍길동", "30", "서울"이 중복되어 제거

이와 같이 파인튜닝을 위한 추가 학습 데이터셋을 만들 때, 데이터를 꼼꼼하게 전처리하는 것이 중요합니다.

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!