데이터 정제 과정
데이터 정제 과정
데이터 정제(Data Cleaning)는 데이터를 분석에 적합한 형태로 만드는 과정으로, 데이터의 정확성과 일관성을 높이는 데 중요한 역할을 한다. 데이터 정제는 데이터 전처리의 첫 번째 단계로 다음과 같은 과정을 거친다.
1. 결측치 처리(Missing Value Handling)
결측치는 데이터셋에 값이 없는 경우를 말한다.
예를 들어 학생들의 시험 점수를 기록한 데이터셋을 가지고 있다고 가정해보자. 5명의 학생이 있는데, 두 번째 학생과 네 번째 학생의 점수가 누락되었다면 이것이 결측치이다..
처리 방법:
- 결측치 제거: 결측치가 포함된 데이터를 완전히 삭제한다.
- 예시: 5명의 학생 중 2명의 점수가 누락된 경우, 이 2명의 학생 데이터를 삭제하여 3명의 학생 데이터만 남긴다.
결측치 대체: 결측치를 다른 값으로 채운다.
- 평균값으로 대체: 다른 학생들의 평균 점수가 75점이라면, 결측된 학생들의 점수를 75점으로 채운다.
- 중앙값으로 대체: 다른 학생들의 중앙값이 70점이라면, 결측된 학생들의 점수를 70점으로 채운다.
- 최빈값으로 대체: 다른 학생들 중 가장 많이 나온 점수가 80점이라면, 결측된 학생들의 점수를 80점으로 채운다.
2. 이상치 처리(Outlier Handling)
이상치는 데이터 분포에서 비정상적으로 벗어난 값들을 말한다.
예를 들어 학생들의 시험 점수가 50점에서 100점 사이인데, 한 학생이 200점을 받은 경우, 이는 명백한 이상치에 해당된다.
처리 방법:
- 이상치 제거: 이상치를 데이터에서 완전히 삭제한다.
- 예시: 200점을 받은 학생의 점수를 데이터셋에서 제거한다.
이상치 대체: 이상치를 다른 값으로 대체한다.
- 예시: 200점을 받은 학생의 점수를 100점으로 대체한다.
데이터 변환: 데이터의 분포를 변환하여 이상치를 줄이는 방법도 있다. 예를 들어 로그 변환을 통해 이상치의 영향을 줄일 수 있다.
3. 중복 데이터 제거(Duplicate Removal)
중복 데이터는 동일한 데이터가 여러 번 기록된 경우를 말한다.
학생들의 명단을 만들었는데, 한 학생이 여러 번 기록된 경우가 이에 해당된다.
처리 방법:
- 중복 데이터 제거: 동일한 학생의 여러 기록 중 하나만 남기고 나머지를 삭제한다.
- 예시: 같은 학생의 이름과 점수가 두 번 기록된 경우, 하나의 기록만 남기고 나머지를 삭제한다.
4. 데이터 형식 변환(Data Type Conversion)
데이터 형식이 잘못된 경우를 말한다. 숫자가 문자로 기록된 경우가 이에 해당된다.
학생들의 나이를 기록하는 열이 있는데, 숫자로 기록되어야 할 나이가 "이십", "삼십" 같은 문자로 기록된 경우가 발생하는 것이 대표적이다..
처리 방법:
- 데이터 형식 변환: 문자를 숫자로 변환한다.
- 예시: "이십"을 20으로, "삼십"을 30으로 변환한다. 또한, 날짜 형식이 잘못된 경우(예: "2020-01-01"이 아닌 "01/01/2020")도 올바르게 변환한다.
5. 불필요한 데이터 제거(Removal of Unnecessary Data)
분석에 필요하지 않은 데이터가 포함된 경우.
학생들의 명단과 점수를 기록한 데이터셋에 학생들의 전화번호가 포함되어 있지만, 전화번호는 분석에 필요하지 않을 경우가 대표적이다.
처리 방법:
- 불필요한 데이터 제거: 분석에 필요하지 않은 열을 삭제합니다.
- 예시: 학생들의 점수 분석을 위해 전화번호 열을 삭제합니다.
6. 데이터 스케일링(Data Scaling)
스케일링은 데이터의 범위를 일정하게 맞추는 것이다. 이는 모델링 과정에서 중요한 역할을 한다.
학생들의 시험 점수(0-100)와 키(150-180cm)가 같은 데이터셋에 있는 경우다다. 점수와 키의 범위가 다르기 때문에 분석에 영향을 미칠 수 있다.
처리 방법:
- 정규화(Normalization): 데이터의 값을 0과 1 사이로 변환한다. 예를 들어, 점수와 키를 각각 0과 1 사이의 값으로 변환한다.
- 표준화(Standardization): 데이터의 평균을 0, 표준편차를 1로 변환한다. 예를 들어, 모든 점수와 키를 변환하여 비교 가능하게 만든다.