본문 바로가기
빅데이터 학습자료/03. 데이터분석_R

[빅데이터분석기사_실기] 4. 이상치 판별 -1

by OBIG 2021. 11. 13.

안녕하세요, 여러분 :-) 지난 시간에 배운 결측치는 모두 잘 이해하셨겠죠?  

 

데이터 분석에 있어서 데이터 전처리는 핵심이고

데이터 전처리에서 결측치와 이상치 처리는 기본 중 기본이므로 열심히 학습하시길 바랄게요. 

 

이번엔 이상치에 대해서 배워보도록 하겠습니다. 

 


1) 이상치(Outlier)란? 

 

-이상치는 관측된 데이터의 범위에서 너무 크거나 작은 값을 의미합니다. 

-이상치 관측 원인은 입력 오류, 데이터 처리 오류, 샘플링 오류 등이 있습니다. 

 

2) 이상치 판별 

 

-이상치를 판별 할 수 있는 방법은 크게 2가지로 정리할 수 있습니다. 

R 함수 활용 -R의 outliers 패키지를 설치하여 outlier 함수로 이상치를 판별합니다. 
사분위수
활용 
-제 3사분위수에서 제 1사분위수의 값을 뺀(Q3-Q1)다음 1.5배를 한 값과 떨어진 위치를 이상치로 판별합니다. 

-상자 그래프(boxplot)로 확인하는 방법이 가장 좋습니다. 

사분위수(Quartile)설명

 

하나하나씩 자세하게 보도록 하겠습니다. 

 

3) outliers 패키지의 outlier 함수 이용하기

-outliers 패키지를 설치하고 로드합니다. 

-이상치가 포함되어 있는 데이터를 생성한 후, outlier 함수로 확인합니다. 간단하죠? :-) 

 

4) 난수 생성 후 outlier 함수 이용하기

 

-set.seed(1234)로 난수를 생성하고 100개의 데이터를 exam_esd2에 할당합니다. 

 

-exam_esd2에서 평균과 가장 차이가 많이 나는 값을 반환합니다. 

 

-반대 방향으로 차이가 많이 나는 값을 반환하기 위해서는 opposite=T 옵션을 주면 됩니다. 

 

5) 사분위수와 boxplot 이용하기 

 

-상자 그래프의 최솟값과 최댓값을 넘어서는 값을 이상치로 판별하기 때문에 상자 그래프를 그린 후

-out : 이상값을 확인할 수 있는 변수 

-stats : 사분위수의 5가지 수치 요약 (최솟값, 제 1사분위수, 제 2사분위수, 제 3사분위수, 최댓값) 

을 확인할 수 있습니다. 

-이상치가 있는 데이터를 생성하고 boxplot함수를 이용하여 age 변수의 상자 그래프를 그립니다. box_age에 할당합니다. 

-위와 같이 그래프가 생성됩니다. 

 

-상자그래프의 $out을 통해 이상치 값을 확인하고, $stats를 통해 사분위수의 각 수치를 확인합니다. 

 

-순서대로 최솟값, 제1사분위수, 제 2사분위수(중위수), 제 3사분위수, 최댓값을 확인할 수 있습니다. 

 

-[ ] 를 사용하여 최솟값과 최댓값을 추출하여 각 min_age, max_age에 할당합니다. 

 

*[ ] 본 괄호는 위치를 지정하여 원소를 추출 할 수 있습니다. 

 

-%>% 연산자와 filter 함수를 사용하기 위해 dplyr 패키지를 로드하고, (설치가 안되신 분들은 install.packages("dplyr")을 통해 설치하세요.) 

*%>%는 파이프라인 연산자로 함수를 연결하여 앞의 데이터를 뒤로 바로 전해주는 역할을 합니다. 

 

-filter를 통해 최솟값과 최댓값 범위 안에 들어오는 값만 추출합니다. 

 


잘 따라오셨나요 여러분? 이상치를 판별하는 방법들에 대해서 학습해보았습니다. 

 

다음 시간에는 빅데이터분석기사 실기 시험에 실제 제출된 이상치 문제를 함께 풀어보도록 하겠습니다. 

 

문의사항 및 강의문의는 bigdataleader@naver.com으로 연락주세요. :)