सांख्यिकीय आउट्लायर हटाना
हालाँकि अपने डेटा के शीर्ष N% को हटाना बहुत विचित्र बिंदुओं को हटाने में सहायक होता है, इसकी कमी यह है कि यह हमेशा एक ही अनुपात में बिंदु हटाता है, चाहे डेटा सही ही क्यों न हो। एक प्रचलित वैकल्पिक तरीका यह है कि ऐसे डेटा को हटाएँ जो औसत से तीन मानक विचलन से अधिक दूर बैठता हो। इसे लागू करने के लिए, पहले प्रासंगिक कॉलम का औसत और मानक विचलन निकालें ताकि ऊपरी और निचली सीमाएँ मिल सकें, और इन सीमाओं को DataFrame पर एक मास्क के रूप में लागू करें। यह तरीका सुनिश्चित करता है कि केवल वही डेटा हटे जो वास्तव में बाकी से अलग है, और यदि डेटा काफ़ी पास-पास है तो यह कम बिंदु हटाएगा.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में मशीन लर्निंग के लिए फीचर इंजीनियरिंग
अभ्यास निर्देश
so_numeric_dfकीConvertedSalaryकॉलम का मानक विचलन और औसत निकालें.- दोनों दिशाओं में औसत से तीन मानक विचलन दूर जाकर ऊपरी और निचली सीमाएँ निकालें.
so_numeric_dfDataFrame को ट्रिम करें ताकि केवल वही पंक्तियाँ रहें जिनमेंConvertedSalarylowerऔरupperसीमाओं के भीतर हो.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Find the mean and standard dev
std = so_numeric_df['ConvertedSalary'].____
mean = so_numeric_df['ConvertedSalary'].____
# Calculate the cutoff
cut_off = std * 3
lower, upper = mean - cut_off, ____
# Trim the outliers
trimmed_df = so_numeric_df[(so_numeric_df['ConvertedSalary'] < ____) \
& (so_numeric_df['ConvertedSalary'] > ____)]
# The trimmed box plot
trimmed_df[['ConvertedSalary']].boxplot()
plt.show()