Python에서 이상값 처리 - IQR 방법

Barbara Streisand
풀어 주다: 2024-10-11 10:45:30
원래의
514명이 탐색했습니다.

소개

실제 데이터에서 통찰력을 얻기 전에 데이터를 면밀히 조사하여 데이터가 일관되고 오류가 없는지 확인하는 것이 중요합니다. 그러나 데이터에는 오류가 포함될 수 있으며 일부 값은 다른 값과 다르게 나타날 수 있으며 이러한 값을 이상값이라고 합니다. 이상값은 데이터 분석에 부정적인 영향을 미쳐 잘못된 통찰력으로 이어져 이해관계자의 잘못된 의사결정을 초래합니다. 따라서 이상값을 처리하는 것은 데이터 과학의 데이터 전처리 단계에서 중요한 단계입니다. 이 기사에서는 이상값을 처리할 수 있는 다양한 방법을 평가해 보겠습니다.

특이치

이상값은 데이터 세트에 있는 대부분의 데이터 포인트와 크게 다른 데이터 포인트입니다. 이는 특정 변수에 대해 예상되거나 일반적인 값 범위를 벗어나는 값입니다. 이상값은 데이터 입력 중 오류, 샘플링 오류 등 다양한 이유로 발생합니다. 기계 학습에서 이상값으로 인해 모델이 잘못된 예측을 하게 되어 부정확한 예측이 발생할 수 있습니다.

Jupyter 노트북을 사용하여 데이터세트에서 이상값 감지

  • Python 라이브러리 가져오기
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
plt.style.use('ggplot')
로그인 후 복사
  • Pandas를 사용하여 csv 파일 로드
df_house_price = pd.read_csv(r'C:\Users\Admin\Desktop\csv files\housePrice.csv')
로그인 후 복사
  • 집값 데이터 세트의 처음 5개 행을 확인하여 데이터프레임을 살펴보세요.
df_house_price.head()
로그인 후 복사

Handling Outliers in Python - IQR Method

  • 상자 그림을 사용하여 가격 열의 이상값 확인
sns.boxplot(df_house_price['Price'])
plt.title('Box plot showing outliers in prices')
plt.show()
로그인 후 복사

Handling Outliers in Python - IQR Method

  • 박스 플롯 시각화에서 가격 열에 이상값이 있습니다.
  • 이제 더 나은 의사결정을 내리고 머신러닝 모델이 올바른 예측을 할 수 있도록 이러한 이상값을 처리하는 방법을 찾아야 합니다.

이상치 값을 처리하는 IQR 방법

  • IQR 방법은 사분위간 범위가 데이터의 중간 절반의 확산을 측정한다는 것을 의미합니다. 표본의 중간 50%에 대한 범위입니다.

사분위간 범위를 사용하여 이상값을 제거하는 단계

  • 데이터의 25%에 해당하는 1사분위수(Q1)와 데이터의 75%에 해당하는 3사분위수(Q3)를 계산합니다.
Q1 = df_house_price['Price'].quantile(0.25)
Q3 = df_house_price['Price'].quantile(0.75)
로그인 후 복사
  • 사분위수 범위 계산
IQR = Q3 - Q1
로그인 후 복사
  • 이상치 경계를 결정합니다.
lower_bound = Q1 - 1.5 * IQR
로그인 후 복사

Handling Outliers in Python - IQR Method

  • 하한은 -5454375000.0 미만의 모든 값이 이상값임을 의미합니다.
upper_bound = Q3 + 1.5 * IQR
로그인 후 복사

Handling Outliers in Python - IQR Method

  • 상한은 12872625000.0보다 큰 값이 이상값이라는 의미입니다.

  • 가격 열에서 이상값 제거

filt = (df_house_price['Price'] >= lower_bound) & (df_house_price['Price'] <= upper_bound)

df = df_house_price[filt]
df.head()
로그인 후 복사

Handling Outliers in Python - IQR Method

  • 이상값을 제거한 후의 상자 그림
sns.boxplot(df['Price'])
plt.title('Box plot after removing outliers')
plt.show()
로그인 후 복사

Handling Outliers in Python - IQR Method

이상치 값을 처리하는 다양한 방법

  • Z-점수 방법
  • 백분위수 상한(Winsorizing)
  • 트리밍(잘림)
  • 대체
  • 클러스터링 기반 방법(예: DBSCAN)

결론

IQR 방법은 이상값에 대해 간단하고 강력하며 정규성 가정에 의존하지 않습니다. 단점은 단변량 데이터만 처리할 수 있고, 데이터가 치우쳐 있거나 꼬리가 굵은 경우 유효한 데이터 포인트를 제거할 수 있다는 점입니다.

감사합니다
자세한 내용을 보려면 링크된 링크와 github에서 저를 팔로우하세요.

위 내용은 Python에서 이상값 처리 - IQR 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!