백분율 기반 이상치 제거
데이터의 일부분이 분석에 과도한 부정적 영향을 주지 않도록 하는 한 가지 방법은, 열에서 가장 큰 값과/또는 가장 작은 값 중 일정 비율을 제거하는 거예요. 이를 위해 관련 분위수를 구한 다음, 그 값을 마스크로 사용해 데이터를 잘라낼 수 있어요. 이 접근 방식은 특히 데이터셋의 가장 큰 값들을 제외하고 싶을 때 유용합니다. 다만 이 방법을 사용할 때는 이상치가 전혀 없더라도 데이터셋에서 상위 N%는 동일하게 제거된다는 점을 꼭 기억하세요.
이 연습은 강의의 일부입니다
Python으로 배우는 Machine Learning 특성 공학
연습 안내
ConvertedSalary열의 95번째 분위수를 구하세요.so_numeric_dfDataFrame에서ConvertedSalary가 95번째 분위수보다 작은 모든 행만 남기도록 잘라trimmed_df를 만드세요.so_numeric_df[['ConvertedSalary']]의 히스토그램을 그리세요.trimmed_df[['ConvertedSalary']]의 히스토그램을 그리세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Find the 95th quantile
quantile = so_numeric_df['ConvertedSalary'].____(____)
# Trim the outliers
trimmed_df = so_numeric_df[so_numeric_df['ConvertedSalary'] < ____]
# The original histogram
so_numeric_df[['ConvertedSalary']].____()
plt.show()
plt.clf()
# The trimmed histogram
trimmed_df[['ConvertedSalary']].____()
plt.show()