Winsorization से outliers हैंडल करें
आपके पास दो वैरिएबल्स वाला basetable दिया गया है: "sum\_donations" और "donor\_id". जब दाताओं ने असाधारण राशि दान की हो, तो "sum_donations" में outliers आ सकते हैं. इसलिए, आप इस वैरिएबल को winsorize करना चाहते हैं ताकि सबसे ऊपर के 5% मानों को upper 5% percentile वाले मान से बदल दिया जाए.
यह अभ्यास पाठ्यक्रम का हिस्सा है
इंटरमीडिएट Predictive Analytics in Python
अभ्यास निर्देश
sum_donationsका न्यूनतम मान प्रिंट कीजिए और जाँचिए कि यह कम-से-कम 0 है. फिरsum_donationsका अधिकतम मान प्रिंट कीजिए.- उपयुक्त lower limit percentile भरिए. क्योंकि 0 से अधिक सभी मान यथार्थवादी हैं और अक्सर आते हैं, इसलिए lower limit percentile से कम मानों को बदलना ज़रूरी नहीं है.
- नया वैरिएबल "sum_donations_winsorized" बनाइए, जो "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(____["____"].____())