안녕하세요, 여러분 :-) 지난 시간에 배운 결측치는 모두 잘 이해하셨겠죠?
데이터 분석에 있어서 데이터 전처리는 핵심이고
데이터 전처리에서 결측치와 이상치 처리는 기본 중 기본이므로 열심히 학습하시길 바랄게요.
이번엔 이상치에 대해서 배워보도록 하겠습니다.
1) 이상치(Outlier)란?
-이상치는 관측된 데이터의 범위에서 너무 크거나 작은 값을 의미합니다.
-이상치 관측 원인은 입력 오류, 데이터 처리 오류, 샘플링 오류 등이 있습니다.
2) 이상치 판별
-이상치를 판별 할 수 있는 방법은 크게 2가지로 정리할 수 있습니다.
R 함수 활용 | -R의 outliers 패키지를 설치하여 outlier 함수로 이상치를 판별합니다. |
사분위수 활용 |
-제 3사분위수에서 제 1사분위수의 값을 뺀(Q3-Q1)다음 1.5배를 한 값과 떨어진 위치를 이상치로 판별합니다. -상자 그래프(boxplot)로 확인하는 방법이 가장 좋습니다. |
하나하나씩 자세하게 보도록 하겠습니다.
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으로 연락주세요. :)
[빅데이터분석기사_실기] 5. 이상치 기출문제풀이 (0) | 2021.11.14 |
---|---|
[빅데이터분석기사_실기] 3. 결측치 처리/기출문제 풀이 (0) | 2021.11.12 |
[빅데이터분석기사_실기] 2. 결측치 대체 (0) | 2021.11.11 |
[빅데이터분석기사_실기] 1. 결측치 처리 (0) | 2021.11.10 |
빅데이터분석기사 실기 대비 강의 및 자료 (0) | 2021.11.07 |