자료 전처리 (1) 결측값 :: 예측 분석 - mindscale
Skip to content

자료 전처리 (1) 결측값

전처리할 것

  • missing values
  • skewness(unsymmetric)
  • near-zero variance
  • 서로 상관이 높은 변수
  • n < p -> 차원축소기법이 필요

결측값

자료 전처리는 분석에서 굉장히 중요합니다.

특히 결측값이 존재하는 경우에는 분석에서 많은 문제가 발생하기 쉽습니다.

본 강의에서는 자료에 결측값이 존재하는지, 존재한다면 어떻게 해결할 수 있는지에 대해 알아봅니다.

먼저 R에서 결측값 찾는 방법을 알아봅시다. 임의로 10개의 원소를 가지는 2 by 5 행렬을 만들고 결측값을 만듭니다.

x <- matrix(1:10, 2) # 2 by 5 행렬 생성
x[c(2,7)] <- NA # 2와 7을 NA로 바꿈

x를 확인합니다.

x

is.na 함수는 NA가 있으면 TRUE를 반환, 없으면 FALSE를 반환합니다.

is.na(x)

which 함수는 그 값과 일치하는 값이 어디에 위치하는지를 알려줍니다. 아래는 NA의 위치를 알려줍니다.

which(is.na(x))

우리 자료에는 과연 결측치가 있을까요? 확인해보기 위해서는 다음과 같이 입력하면 됩니다. 아래 코드는 결측치의 총 개수를 알려줍니다.

sum(is.na(dat))

다행히도 우리 자료에는 결측치가 없군요. 결측치가 있다면 어떻게 하면 될까요? caret에서는 knnImpute라는 기능을 제공합니다. 이는 조금 후에 알아보도록 하겠습니다.