मैं यह जानना चाहता हूं कि आउटलेटर्स का पता लगाने का सबसे अच्छा तरीका क्या है। यहां समस्या है और कुछ चीजें जो शायद काम नहीं करेगी। आइए मान लें कि हम mysql में एक गंदे वर्चर (50) कॉलम से कुछ अर्ध-वर्दी डेटा को मछली बनाना चाहते हैं। आइए स्ट्रिंग लम्बाई से विश्लेषण करके शुरू करें।एक विचित्र वितरण में outliers का पता लगाने?
| strlen | freq |
| 0 | 2312 |
| 3 | 45 |
| 9 | 75 |
| 10 | 15420 |
| 11 | 395 |
| 12 | 114 |
| 19 | 27 |
| 20 | 1170 |
| 21 | 33 |
| 35 | 9 |
मैं करना चाहते हैं क्या एक एल्गोरिथ्म वसीयत जो स्ट्रिंग लंबाई उद्देश्यपूर्ण अद्वितीय जा रहा है के बजाय typeo के या यादृच्छिक कचरा होने का एक उच्च संभावना है निर्धारित करने के लिए है। इस क्षेत्र में "enum" प्रकार होने की संभावना है, इसलिए मान्य मानों के लिए कई आवृत्ति स्पाइक हो सकते हैं। स्पष्ट रूप से 10 और 20 मान्य हैं, 0 बस छोड़ा गया डेटा है। आवृत्ति में बहुत अलग होने के बावजूद 35 और 3 कुछ यादृच्छिक कचरे हो सकते हैं। 1 9 और 21 20 प्रारूप के आसपास टाइप-ओएस हो सकते हैं। 11 10 के लिए टाइप-ओएस हो सकता है, लेकिन 12 के बारे में क्या?
यह बस घटना आवृत्ति% का उपयोग कर लगता है पर्याप्त नहीं है। स्पष्ट रूपरेखाओं के आस-पास उच्च "बस एक त्रुटि" संभावना के हॉटस्पॉट की आवश्यकता है।
भी, एक निश्चित सीमा होने में विफल रहता है जब वहाँ 15 अद्वितीय लंबाई जो% से 7 के बीच के साथ 5-20 के बीच वर्ण, प्रत्येक से भिन्न हो सकते हैं कर रहे हैं - 20% घटना।
मानक विचलन काम नहीं करेगा क्योंकि यह मतलब पर निर्भर करता है। औसत पूर्ण विचलन शायद काम नहीं करेगा क्योंकि आपके पास उच्च आवृत्ति बाहरी हो सकती है जिसे त्याग नहीं किया जा सकता है।
हाँ वहाँ कोड में डेटा की सफाई के लिए अन्य पैरामीटर होगा, लेकिन लंबाई बहुत जल्दी प्री-फ़िल्टर और संरचना के किसी भी राशि के साथ क्षेत्रों वर्गीकृत करने के लिए लगता है।
क्या कोई ज्ञात विधियां हैं जो कुशलता से काम करती हैं? मैं Bayesian फिल्टर या मशीन सीखने से बहुत परिचित नहीं हूँ लेकिन शायद वे मदद कर सकते हैं?
धन्यवाद! लियोन
दिलचस्प सवाल – cctan