실제 데이터에서 통찰력을 얻기 전에 데이터를 면밀히 조사하여 데이터가 일관되고 오류가 없는지 확인하는 것이 중요합니다. 그러나 데이터에는 오류가 포함될 수 있으며 일부 값은 다른 값과 다르게 나타날 수 있으며 이러한 값을 이상값이라고 합니다. 이상값은 데이터 분석에 부정적인 영향을 미쳐 잘못된 통찰력으로 이어져 이해관계자의 잘못된 의사결정을 초래합니다. 따라서 이상값을 처리하는 것은 데이터 과학의 데이터 전처리 단계에서 중요한 단계입니다. 이 기사에서는 이상값을 처리할 수 있는 다양한 방법을 평가해 보겠습니다.
이상값은 데이터 세트에 있는 대부분의 데이터 포인트와 크게 다른 데이터 포인트입니다. 이는 특정 변수에 대해 예상되거나 일반적인 값 범위를 벗어나는 값입니다. 이상값은 데이터 입력 중 오류, 샘플링 오류 등 다양한 이유로 발생합니다. 기계 학습에서 이상값으로 인해 모델이 잘못된 예측을 하게 되어 부정확한 예측이 발생할 수 있습니다.
import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import warnings warnings.filterwarnings('ignore') plt.style.use('ggplot')
df_house_price = pd.read_csv(r'C:\Users\Admin\Desktop\csv files\housePrice.csv')
df_house_price.head()
sns.boxplot(df_house_price['Price']) plt.title('Box plot showing outliers in prices') plt.show()
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
upper_bound = Q3 + 1.5 * IQR
상한은 12872625000.0보다 큰 값이 이상값이라는 의미입니다.
가격 열에서 이상값 제거
filt = (df_house_price['Price'] >= lower_bound) & (df_house_price['Price'] <= upper_bound) df = df_house_price[filt] df.head()
sns.boxplot(df['Price']) plt.title('Box plot after removing outliers') plt.show()
IQR 방법은 이상값에 대해 간단하고 강력하며 정규성 가정에 의존하지 않습니다. 단점은 단변량 데이터만 처리할 수 있고, 데이터가 치우쳐 있거나 꼬리가 굵은 경우 유효한 데이터 포인트를 제거할 수 있다는 점입니다.
감사합니다
자세한 내용을 보려면 링크된 링크와 github에서 저를 팔로우하세요.
위 내용은 Python에서 이상값 처리 - IQR 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!