본문 바로가기
데이터분석과 AI/빅데이터 분석기사

[빅데이터분석기사 실기][작업형1] IQR을 이용한 이상값 탐지

by 우공80 2023. 5. 23.
728x90

IQR

사분위수 범위(IQR)는 데이터 세트에서 이상값을 식별하는 데 사용되는 통계값입니다. 아래와 같은 순서로 이상값을 판별합니다.

1. IQR 계산: IQR은 제3사분위수(Q3)에서 제1사분위수(Q1)를 빼서 구합니다. 수학적으로 IQR = Q3 - Q1입니다.

2. 이상값 경계 정의: IQR에 상수(일반적으로 1.5 또는 3)를 곱하여 이상값을 식별하기 위한 임계값을 결정합니다. 하한은 Q1 - (IQR * 상수)로 정의되고 상한은 Q3 + (IQR * 상수)로 정의됩니다.

3. 잠재적 이상값 식별: 하한선 아래 또는 상한선 위에 있는 모든 데이터 포인트는 잠재적인 이상값으로 간주됩니다.

4. 이상값 처리 또는 조사: 데이터의 특성에 따라 이상값을 제거하거나 누락된 값으로 처리하거나 데이터 품질 문제 또는 측정 오류에 대해 추가로 조사합니다.

다음은 IQR 방법을 사용하여 데이터 세트에서 이상값을 감지하는 방법을 보여주는 Python 예제입니다.

 

import numpy as np

# 샘플 데이터
data = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 20])

# IQR 계산
q1 = np.percentile(data, 25)
q3 = np.percentile(data, 75)
iqr = q3 - q1

# 이상값 경계 정의
lower_bound = q1 - (1.5 * iqr)
upper_bound = q3 + (1.5 * iqr)

# 이상값 식별
outliers = [x for x in data if x < lower_bound or x > upper_bound]

# Print the outliers
print("Outliers:", outliers)

Output:

Outliers: [20]

 

※ 위 내용은 "빅데이터 분석기사 실기 준비를 위한 캐글 놀이터"를 따라가며 공부한 내용입니다.

https://www.kaggle.com/datasets/agileteam/bigdatacertificationkr

 

Big Data Certification KR

빅데이터 분석기사 실기 (Python, R tutorial code)

www.kaggle.com

 

728x90

댓글