윈저화로 이상치 처리하기
"sum\_donations"와 "donor\_id" 두 변수가 있는 basetable이 주어졌어요. 기부자가 비정상적으로 큰 금액을 기부한 경우 "sum_donations"에는 이상치가 포함될 수 있어요. 따라서 상위 5% 금액을 상위 5% 퍼센타일 값으로 대체하도록 이 변수를 윈저화하려고 해요.
이 연습은 강의의 일부입니다
Python 중급 예측 분석
연습 안내
- 먼저
sum_donations의 최솟값을 출력해 0 이상인지 확인하고, 이어서sum_donations의 최댓값을 출력하세요. - 적절한 하한 퍼센타일 값을 채우세요. 0보다 큰 값은 현실적이고 자주 발생하므로, 하한 퍼센타일보다 낮은 값을 대체할 필요는 없어요.
- "sum_donations" 변수를 윈저화한 새 변수 "sum_donations_winsorized"를 만드세요.
sum_donations_winsorized의 최댓값을 출력하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
from scipy.stats.mstats import winsorize
# Check minimum sum of donations
print(____["____"].____())
print(____["____"].____())
# Fill out the lower limit
lower_limit = ____
# Winsorize the variable sum_donations
basetable["sum_donations_winsorized"] = ____(____["____"], limits=[lower_limit, 0.05])
# Check maximum sum of donations after winsorization
print(____["____"].____())