[Weekly] 데이터 전처리

Alicia Jung·2024년 7월 1일

Weekly

목록 보기
3/14
post-thumbnail

데이터 전처리 방법

🇶 데이터 전처리 방법들 (ex. 결측값 처리 등) 에 대해 설명해 주세요.

📑데이터 전처리란?

🗑️ Garbage in, Garbage out
"쓰레기가 들어가면 쓰레기가 나온다!"

데이터 전처리를 제대로 하지 않으면 분석 결과도 제대로 된 결과가 나오기 어렵다. 그래서 데이터 전처리는 중요하다.

데이터 전처리는 데이터를 분석 이전 단계에서 데이터를 분석 및 처리에 적합한 형태로 만드는 과정을 말한다.

데이터 전처리에는 결측값 처리, 이상점 처리, 범주형 변수 처리, 중복값 처리, 데이터 병함 등이 있다. 여기서는 대표적으로 결측값 처리와 이상치 처리를 살펴보도록 하자. 아래에서 차근차근 살펴보자.

🙅결측치 처리

😶‍🌫결측치(Missing Value)는 무엇인가?

결측치(혹은 결측값)는 데이터에 값이 없는 것을 이야기 한다. NA 혹은 Null 값이라고 표현하기도 한다.

결측치가 많은데 처리를 잘못한 경우 분석 결과에 왜곡을 가져올 수 있기 때문에 결측치를 처리해주는 작업은 필수적이다.

🔧결측치 처리 방법

결측치를 처리하는 방법에는 네 가지가 있다.

1. 결측치를 제거

  • drop()이나 dropna() 등과 같은 함수를 사용해서 결측치를 삭제해줄 수 있다.

  • 다만 어떤 방식으로 삭제해 줄지는 고민을 해야 한다. 예컨대 아래와 같은 상황에서 다음과 같은 판단을 할 수 있다.

  • 결측치가 특정행의 10% 미만
    -> 삭제해주는 것이 낫다.
  • 결측치가 한 열에 50% 이상
    ->행을 삭제했을 때 데이터 손실이 크기 때문에 이런 경우에는 열을 삭제하는 것이 좋을 것이다.

2. 결측치를 대체

  • 결측치를 대체할 때는 결측치의 비율, 데이터의 분포, 다른 변수와의 관계가 있는지를 살펴보고 적절한 것을 골라야 한다.

  • 일반적으로 대표값으로 대체하기 때문에 수치형 변수는 평균이나 중앙값, 범주형 변수는 최빈값으로 대체하지만 데이터의 형태나 특징과 상관없이 기계적으로 특정 유형의 대표값으로 대체하는 것은 위험할 수 있다.

3. 결측치를 예측

  • 존재하는 데이터를 바탕으로 모델링을 해서 결측값을 예측

4. 특수값 할당

  • 결측값을 처리하는 영역 중에서도 결측값을 어떻게 표시하는지에 관한 것.

  • 999이나 Unknown 등의 값을 넣어 결측값이라는 것을 표시한다.

⚠️이상치(Outlier) 처리

👽이상치는 무엇인가?

이상치는 데이터들과 동떨어져 있는 너무 크거나 너무 작은 데이터를 말한다.
(e.g. 위의 상자수염그림에서 하단에 있는 동그라미로 표시된 것)

대표적으로 사분위수범위를 이용한 이상치 구하기 방법은 다음과 같다.

이상치 구하기
사분위수 범위 (IQR, InterQuartile Range) = Q3 - Q1
upper_limit = Q3 + 1.5 x IQR
lower_limit = Q1 -1.5 x IQR

  • lower_limit보다 작거나 upper_limit 보다 큰 값

🔨이상치 처리방법

이상치 처리 방법에는 세 가지가 있다.

1. 아무것도 하지 않기
: 실제로 데이터가 아주 크거나 아주 작은 경우(아주 예외적인 경우에 이렇게 처리하기도 한다)

2. 이상점에 해당하는 데이터 삭제
: 이상치가 오류 때문에 발생했거나 삭제해도 큰 영향이 없을 경우

3. 정상범위 안에 있는 데이터만 가져오기
: 2번과 실상 같은 의미이다. 데이터를 가져올 때 이상치를 제외하기 때문.

참고문헌

코드잇 스프린트 데이터 애널리스트 1기 강의자료

우성우(2022.11.07). "데이터 전처리란?-데이터 전처리 정의, 작업 단계, 순서", 모두의 연구소.

DoublekPark, 훈지, Nykim (2019.04.12). "2. 결측치 처리" in Must Learning with R

추가 리뷰

전처리

범주형 변수 처리

범주형 변수: 범주화된 변수
범주형 변수는 더미화, 더미화를 해주는 이유는 모델이 인식하지 못해서.

중복값 처리

중복값: 데이터셋에 동일한 데이터가 여러번 나타나는 경우
중복값을 처리하지 않으면 분석 결과가 왜곡될 수 있어서 중복값을 제거.

profile
데이터를 잘 써먹기 위해 배우는 데이터 분석가입니다. 최근 티스토리 블로그(https://alicia03.tistory.com/)에서 주로 활동하고 있습니다.

0개의 댓글