पायथन में ग्रब्स टेस्टर कैसे चलाएं
ग्रब्स परीक्षण का उपयोग डेटा सेट में आउटलेर्स की उपस्थिति की पहचान करने के लिए किया जाता है। इस परीक्षण का उपयोग करने के लिए, एक डेटा सेट लगभग सामान्य रूप से वितरित होना चाहिए और इसमें कम से कम 7 अवलोकन शामिल होने चाहिए।
यह ट्यूटोरियल बताता है कि पायथन में ग्रब्स परीक्षण कैसे करें।
पायथन में ग्रब्स परीक्षण
पायथन में ग्रब्स परीक्षण करने के लिए, हम outlier_utils पैकेज से smirnov_grubbs() फ़ंक्शन का उपयोग कर सकते हैं, जो निम्नलिखित सिंटैक्स का उपयोग करता है:
smirnov_grubbs.test (डेटा, अल्फा = 0.05)
सोना:
- डेटा: डेटा मानों का एक संख्यात्मक वेक्टर
- अल्फ़ा: परीक्षण के लिए उपयोग किए जाने वाले महत्व का स्तर। डिफ़ॉल्ट मान 0.05 है
इस सुविधा का उपयोग करने के लिए, आपको पहले outlier_utils पैकेज इंस्टॉल करना होगा:
pip install outlier_utils
एक बार यह पैकेज इंस्टॉल हो जाए, तो आप ग्रब्स परीक्षण कर सकते हैं। निम्नलिखित उदाहरण बताते हैं कि यह कैसे करना है।
उदाहरण 1: टू-टेल्ड ग्रब्स परीक्षण
निम्नलिखित कोड दिखाता है कि दो-पूंछ वाले ग्रब्स परीक्षण कैसे करें, जो डेटा सेट के दोनों सिरों पर आउटलेर्स का पता लगाएगा।
import numpy as np from outliers import smirnov_grubbs as grubbs #define data data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40]) #perform Grubbs' test grubbs. test (data, alpha=.05) array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29])
यह फ़ंक्शन केवल आउटलेर्स के बिना एक सरणी लौटाता है। इस मामले में, 40 का अधिकतम मान एक बाहरी था और इसलिए हटा दिया गया था।
उदाहरण 2: एकतरफ़ा ग्रब्स परीक्षण
निम्नलिखित कोड दर्शाता है कि डेटा सेट में न्यूनतम मान और अधिकतम मान के लिए एक तरफा ग्रब्स परीक्षण कैसे किया जाए:
import numpy as np from outliers import smirnov_grubbs as grubbs #define data data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40]) #perform Grubbs' test to see if minimum value is an outlier grubbs. min_test (data, alpha=.05) array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40]) #perform Grubbs' test to see if minimum value is an outlier grubbs. max_test (data, alpha=.05) array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29])
न्यूनतम बाह्य परीक्षण ने न्यूनतम मान को बाह्य के रूप में नहीं पाया। हालाँकि, अधिकतम बाह्य परीक्षण ने निर्धारित किया कि 40 का अधिकतम मान एक बाह्य था और इसलिए हटा दिया गया था।
उदाहरण 3: बाह्य का सूचकांक निकालें
निम्नलिखित कोड दर्शाता है कि आउटलेयर का सूचकांक कैसे निकाला जाए:
import numpy as np from outliers import smirnov_grubbs as grubbs #define data data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40]) #perform Grubbs' test and identify index (if any) of the outlier grubbs. max_test_indices (data, alpha=.05) [16]
यह हमें बताता है कि तालिका की सूचकांक स्थिति 16 पर एक आउटलायर है।
उदाहरण 4: बाह्य से मान निकालें
निम्नलिखित कोड दर्शाता है कि आउटलेयर से मूल्य कैसे निकाला जाए:
import numpy as np from outliers import smirnov_grubbs as grubbs #define data data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40]) #perform Grubbs' test and identify the actual value (if any) of the outlier grubbs. max_test_outliers (data, alpha=.05) [40]
यह हमें बताता है कि 40 के मान के साथ एक आउटलायर है।
आउटलेर्स को कैसे संभालें
यदि ग्रब्स परीक्षण आपके डेटा सेट में किसी बाहरी चीज़ की पहचान करता है, तो आपके पास कई विकल्प हैं:
1. दोबारा जांचें कि मान कोई टाइपिंग त्रुटि या डेटा प्रविष्टि त्रुटि तो नहीं है। कभी-कभी डेटा सेट में आउटलेयर के रूप में दिखाई देने वाले मान केवल डेटा प्रविष्टि के दौरान किसी व्यक्ति द्वारा की गई टाइपो त्रुटियां होती हैं। सबसे पहले, कोई भी आगे का निर्णय लेने से पहले सत्यापित करें कि मान सही ढंग से दर्ज किया गया था।
2. आउटलेयर को एक नया मान निर्दिष्ट करें । यदि आउटलेयर टाइपो या डेटा प्रविष्टि त्रुटि का परिणाम निकलता है, तो आप इसे एक नया मान निर्दिष्ट करने का निर्णय ले सकते हैं, जैसे डेटा सेट का माध्य या माध्यिका ।
3. बाहरी हिस्से को हटा दें. यदि मान वास्तव में एक बाहरी है, तो आप इसे हटाने का विकल्प चुन सकते हैं यदि इसका आपके विश्लेषण पर महत्वपूर्ण प्रभाव पड़ेगा।