नफा:
- गहाळ मूल्यांचे कारण वेगळे करण्याची क्षमता (यादृच्छिक, पद्धतशीर, अर्थपूर्ण) आणि योग्य रणनीती निवडणे आणि केवळ प्रशिक्षणातून भरणा मूल्याची गणना करणे
- आउटलियर्स हटवण्यापूर्वी त्यांचे परीक्षण करण्याची क्षमता आणि डेटा त्रुटी आणि खरी दुर्मिळ घटना यांच्यातील फरक ओळखण्याची क्षमता
- स्टँडर्डमध्ये प्रकार आणि स्वरूपातील विसंगती आणताना ओळी/रिक्त स्थानांच्या संख्येवर प्रत्येक चरणाच्या प्रभावाचे निरीक्षण करून मूक नुकसान टाळण्याची क्षमता
डेटा सायंटिस्टचा अंदाजे 60-80 टक्के वेळ साफसफाईसाठी जातो; उद्योगात, याला अर्धवट विनोदाने "डेटा रँगलिंग" (डेटा रँगलिंग किंवा डेटा क्लीनिंग) म्हणतात. कारण वास्तविक-जागतिक डेटा जवळजवळ कधीच विश्लेषणासाठी तयार होत नाही: तारखा मिश्रित स्वरूपात असतात, संख्या मजकूर म्हणून संग्रहित केल्या जातात, काही सेल रिक्त असतात, ग्राहक दोन भिन्न शब्दलेखनांसह एकाच टेबलमध्ये तीन वेळा दिसतात. या युनिटमध्ये आम्ही क्लीनअपच्या तीन मूलभूत बाबींचा समावेश करू: गहाळ मूल्ये, आउटलियर्स आणि प्रकार/स्वरूप रूपांतरण. या कामात कृत्रिम बुद्धिमत्ता एक विलक्षण वेगवान सहाय्यक आहे; पण काय आणि कसे स्वच्छ करायचे ते तुम्हीच ठरवता, कारण प्रत्येक साफसफाईची निवड विश्लेषण बदलते.
स्वच्छतेचा सुवर्ण नियम: प्रत्येक बदल हा निर्णय असतो
सेल हटवणे, गहाळ मूल्य सरासरीने भरणे, आउटलायर ट्रिम करणे—यापैकी कोणतीही "तटस्थ" ऑपरेशन्स नाहीत. प्रत्येक डेटा बदलतो आणि परिणाम प्रभावित करतो. त्यामुळे साफसफाईचा सुवर्ण नियम: कोडमध्ये प्रत्येक बदल लिहा, तर्क लक्षात घ्या, मूळ डेटा कधीही ओव्हरराईट करू नका. एआय तुम्हाला द्रुत क्लीनअप कोड देते, परंतु तो कोड काय करतो हे समजून घेणे तुमची जबाबदारी आहे; "रिक्त ओळी हटवा" म्हटल्यावर किती ओळी गेल्या हे पाहिल्याशिवाय चालवू नका.
खबरदारी: मूळ कच्चा डेटा कधीही बदलू नका. स्वच्छ केलेली आवृत्ती वेगळ्या फाईल/टेबलवर लिहा. अशा प्रकारे, जर तुम्हाला एखादी त्रुटी आढळली, तर तुम्ही वर्ग एकवर परत जाऊ शकता आणि पुनरुत्पादनक्षमता राखू शकता.
गहाळ मूल्ये: ते रिक्त का आहे, काय करावे
जेव्हा सेल रिकामा असतो तेव्हा गहाळ मूल्य (सामान्यतः NaN — "नॉट अ नंबर" म्हणून दिसते) असते. परंतु अंतराचे कारण त्यावर उपाय ठरवते. तीन वैशिष्ट्यपूर्ण परिस्थिती आहेत. यादृच्छिकपणे गहाळ: सेन्सर क्षणभर काम करत नाही; ते भरणे वाजवी असू शकते. पद्धतशीरपणे गहाळ: एक फॉर्म फील्ड केवळ विशिष्ट ग्राहकांसाठी विचारले जाते; येथे अंतर प्रत्यक्षात माहिती आहे. लक्षणीय गहाळ: "रिटर्न तारीख" रिक्त असल्यास, ग्राहक परत आला नाही; या जागेचा अर्थ 0 किंवा "काहीही नाही", तो भरलेला नाही.
प्रमुख धोरणे:
रणनीती
ते केव्हा योग्य आहे?
धोका
पंक्ती हटवा
गहाळ दर खूपच कमी (<5%) आणि यादृच्छिक आहे
डेटा आणि प्रतिनिधित्व गमावणे
एक स्तंभ हटवा
बहुतेक स्तंभ रिकामे आहे (>60%)
माहितीचे नुकसान
सरासरी/मध्यम भरण
अंकीय, यादृच्छिकपणे गहाळ
हे भिन्नता कमी करते आणि वितरण विकृत करते
श्रेणी "अज्ञात"
स्पष्ट, पद्धतशीर गहाळ
अतिरिक्त श्रेणी व्युत्पन्न करते
मॉडेलसह अंदाज
जटिल, मौल्यवान स्तंभ
गळतीचा धोका, गुंतागुंत
गंभीर मुद्दा: आरोपण मूल्य केवळ प्रशिक्षण डेटावरून मोजले जावे आणि तेच मूल्य चाचणी डेटावर लागू केले जावे. तुम्ही चाचणी डेटाची सरासरी समाविष्ट केल्यास, तुम्ही लीकेज तयार कराल (युनिट 10). मध्यक (ऑर्डिनल डेटाचे मधले मूल्य) बहुतेक वेळा मीनला प्राधान्य दिले जाते कारण ते सरासरीपेक्षा आउटलायर्ससाठी अधिक मजबूत असते.
आउटलियर: त्रुटी किंवा वास्तविक?
आउटलायर दोन गोष्टींपैकी एक असू शकते: डेटा एरर (वय स्तंभातील 999) किंवा वास्तविक परंतु दुर्मिळ घटना (ग्राहकाची $2 दशलक्ष ऑर्डर). दोघांना गोंधळात टाकणे विनाशकारी आहे: खरा आउटलायर हटवा आणि तुम्ही महत्त्वाची माहिती फेकून द्या; आपण चूक सोडल्यास, आपल्या सरासरीला त्रास होईल. म्हणून, प्रथम आउटलायर तपासणे आवश्यक आहे, ते स्वयंचलितपणे हटवू नये.
सामान्य शोध पद्धती: IQR पद्धत (इंटरक्वार्टाइल श्रेणी; डेटाच्या 25% आणि 75% क्विंटाइलमधील फरकाच्या 1.5 पट पेक्षा जास्त मूल्ये आउटलियर मानली जातात) आणि z-स्कोअर (मध्य मूल्यापासून दूर असलेल्या मानक विचलनांची संख्या; सामान्यतः 3 पेक्षा जास्त असल्यास आउटलायर). AI काही सेकंदात या गणनेसाठी कोड लिहिते; परंतु तुम्ही "हटवा" म्हणण्यापूर्वी ती मूल्ये काय आहेत ते तपासा.
प्रकार आणि स्वरूप रूपांतरण: मूक त्रुटी स्त्रोत
सर्वात जास्त डोकेदुखी म्हणजे डेटा टाईप गोंधळ. जर "रक्कम" स्तंभ मजकूर म्हणून संग्रहित केला असेल, तर तुम्ही जोडू शकत नाही; प्रोग्राम "एक हजार दोनशे पन्नास" ऐवजी "1,250.50" सारखी तुर्की स्वरूपित संख्या चुकीच्या पद्धतीने वाचतो. तारखा ("01/03/2024" दिवस-महिना किंवा महिना-दिवस?), श्रेणी ("पुरुष"/"पुरुष"/"एम" समान गोष्टी आहेत?) आणि युनिट्स (TL किंवा kuruş?) शांतपणे चुकीचे परिणाम देतात. साफसफाईचा एक मोठा भाग म्हणजे या विसंगतींना मानकांमध्ये खेचणे: तारखा एका स्वरूपात, श्रेणी एका स्पेलिंगमध्ये, संख्या एका युनिटमध्ये.
तीन लहान प्रकरणे
केस 1 - सरासरी सापळा. एका संघाने सरासरी ($48,500) सह उत्पन्न स्तंभातील 320 गहाळ मूल्ये भरली. परंतु उणीवा पद्धतशीर होत्या: हे कमी उत्पन्न असलेले विभाग होते ज्यांनी कधीही उत्पन्न घोषित केले नव्हते. सरासरी भरणे हा गट कृत्रिमरित्या श्रीमंत झाला आणि क्रेडिट मॉडेल चुकीचे होते. धडा: ते भरण्यापूर्वी "ते रिक्त का आहे" ते विचारा.
केस 2 - आउटलियर जे हटविले जाऊ नये. किरकोळ विश्लेषकाने विक्री डेटामधील 4 प्रचंड ऑर्डर (प्रत्येकी 1.8 दशलक्ष TL) हटवल्या, त्या "त्रुटी" होत्या. तथापि, हे खरे कॉर्पोरेट ऑर्डर होते आणि एकूण उलाढालीच्या 22% होते. पोस्ट-डिलीशन अंदाज मॉडेलने संस्थात्मक मागणी पूर्णपणे गमावली. धडा: आउटलायर हटवण्यापूर्वी त्याचे परीक्षण करा.
प्रकरण 3 - तारीख स्वरूप आपत्ती. CSV मध्ये, तारखा "2024-03-01" आणि "01.03.2024" दोन्हीमध्ये मिसळल्या गेल्या. जेव्हा YZ ने लिहिलेला कोड पहिल्या स्वरूपानुसार पार्स केला गेला तेव्हा 6,400 ओळी "अवैध तारीख" म्हणून NaT बनल्या आणि विश्लेषणातून शांतपणे वगळण्यात आल्या. जेव्हा ओळींची संख्या कमी झाली तेव्हाच विश्लेषकाने हे लक्षात घेतले. धडा: रूपांतरणानंतर नेहमी ओळी आणि रिक्त जागा तपासा.
चार कॉपी करण्यायोग्य टेम्पलेट्स
1) गहाळ मूल्य नकाशा:
माझ्याकडे पांडा डीएफ आहेत. कोड लिहा जो प्रत्येक स्तंभासाठी गहाळ (NaN) ची संख्या आणि टक्केवारी दर्शविणारा तक्ता तयार करतो. त्यानंतर, 40% पेक्षा जास्त गहाळ दर आणि 5% पेक्षा कमी दर असलेले स्तंभ स्वतंत्रपणे सूचीबद्ध करा. फक्त हा निदान कोड व्युत्पन्न करा, तुम्ही कोणती रणनीती सुचवाल ते नाही; मी निर्णय घेईन.
2) बाह्य तपासणी (हटवणे नाही):
IQR पद्धत वापरून माझ्या "रक्कम" कॉलमसाठी ओळखला जाणारा (हटवणारा नाही!) कोड लिहा. बाहेरील पंक्ती वेगळ्या df मध्ये ठेवा जेणेकरून मी त्यांचे व्यक्तिचलितपणे परीक्षण करू शकेन. आउटलायर्सची संख्या आणि एकूण त्यांचा वाटा देखील छापा.
3) प्रकार/स्वरूप मानकीकरण:
खालील स्तंभांना प्रमाणित करणारा कोड लिहा:- "तारीख": मिश्रित स्वरूप असू शकते ("2024-03-01" आणि "01.03.2024"); ते सर्व डेटटाइममध्ये रूपांतरित करा, भाषांतर न करता येणाऱ्याची गणना करा आणि अहवाल द्या (शांतपणे फेकून द्या). - "लिंग": "पुरुष"/"पुरुष"/"M" -> "M", "स्त्री"/"स्त्री"/"F" -> "K". - "रक्कम": तुर्की स्वरूपित मजकूर ("1.250,50") -> दशांश संख्या. प्रत्येक रूपांतरणानंतर किती पंक्ती प्रभावित होतात हे मुद्रित करा.
४) साफसफाई करण्यापूर्वी/नंतर तपासा:
साफसफाईच्या चरणापूर्वी आणि नंतर निवडलेल्या स्तंभांची df.shape, गहाळ संख्या आणि सारांश आकडेवारी (मध्य, मध्य, किमान, कमाल) यांची तुलना करणारा कोड लिहा. उद्देशः स्वच्छता काय बदलते हे पाहण्यासाठी.
कमकुवत प्रॉम्प्ट / मजबूत प्रॉम्प्ट
कमकुवत प्रॉम्प्ट:
हा डेटा साफ करा.
"स्पष्ट" अस्पष्ट आहे; कोणते गहाळ भाग हटवावेत, काय भरावे, कोणत्या कॉलमवर प्रक्रिया करावी आणि कशी करावी हे AI ला माहीत नाही. परिणाम: अंध, अपरिवर्तनीय बदल.
शक्तिशाली सूचना:
तुमची भूमिका: डेटा साफ करणारे सहाय्यक. df स्तंभ: customer_id (int), registration_date (मिश्र स्वरूपाचा मजकूर), revenue_tl (मजकूर, "1,200.00"), शहर (मजकूर, विसंगत शब्दलेखन). नियम:- मूळ डीएफ बदलणे; df_clean नावाच्या कॉपीवर काम करा.- Income_tl चे नंबरमध्ये रूपांतर करा, जे भाषांतरित केले जाऊ शकत नाही ते मोजा.- रेकॉर्ड_डेट डेटटाइममध्ये बदला, त्रुटीची तक्रार करा.- माझ्या मंजुरीशिवाय कोणत्याही पंक्ती हटवू नका; उमेदवार स्वतंत्रपणे दाखवा. प्रत्येक पायरीनंतर, df_temiz.shape आणि गहाळ क्रमांक प्रिंट करा.
येथे स्त्रोत संरक्षित आहे, प्रत्येक परिवर्तनाची गणना केली जाते, हटवणे मनुष्यावर सोडले जाते.
सामान्य चुका
- "ते रिकामे का आहे?" न विचारता पोकळी भरणे. सरासरीने पद्धतशीर/महत्त्वपूर्ण गहाळपणा भरल्याने डेटा विकृत होतो.
- आउटलायर तपासल्याशिवाय हटवणे. वास्तविक परंतु दुर्मिळ घटना टाकून दिल्याने महत्त्वाची माहिती नष्ट होते.
- सर्व डेटावरून पॅडिंग मूल्य मोजत आहे. चाचणी डेटासह गळती निर्माण होते; फक्त प्रशिक्षणातून गणना करा.
- रूपांतरणानंतर पंक्ती/रिक्त स्थानांची संख्या तपासत नाही. शांतपणे NaT/NaN असलेल्या पंक्ती विश्लेषणातून वगळल्या आहेत.
- मूळ डेटा ओव्हरराइट करत आहे. परतावा आणि पुनरुत्पादनक्षमता गमावली आहे.
टीप: "आधी-नंतर" तुलना करून क्लिन्स चालवा. प्रत्येक पायरीनंतर df.shape, गहाळ संख्या आणि गंभीर स्तंभांची सारांश आकडेवारी मुद्रित करा. तर तुम्हाला लगेच दिसेल की एक पाऊल अनपेक्षितपणे 6,000 पंक्ती नष्ट करते.
सारांशात
डेटा सायन्सचा क्लीन्सिंग हा सर्वात जास्त वेळ घेणारा आणि निर्णय-आवश्यक टप्पा आहे. प्रत्येक बदल डेटा बदलतो, म्हणून प्रत्येक एक जाणीवपूर्वक निर्णय आहे. गहाळ मूल्यांसाठी, "ते रिकामे का आहे?" कोणत्याही आउटलायर्स हटवण्यापूर्वी त्यांचे पुनरावलोकन करा; प्रकार आणि स्वरूप मानकात आणा. केवळ प्रशिक्षण डेटावरून भरलेल्या मूल्याची गणना करा, मूळ ठेवा आणि प्रत्येक पायरीच्या प्रभावाची गणना करून त्याचा मागोवा घ्या. या व्यवसायात AI हा एक जबरदस्त प्रवेगक आहे, परंतु तुम्ही काय स्वच्छ करायचे आणि का हे मानव ठरवतात.
अर्ज कार्य
एक लहान टेबल घ्या (किंवा तयार करा) आणि त्यात मुद्दाम तीन समस्या घाला: गहाळ मूल्य टपल, एक आउटलायर, मिश्रित तारीख स्वरूप. वरील टेम्प्लेट्ससह AI कडून निदान आणि मानकीकरण कोडची विनंती करा; प्रत्येक पायरीपूर्वी/नंतर पंक्ती आणि रिक्त स्थानांची तुलना करा. कमीत कमी एक "मूक तोटा" पकडण्याचा प्रयत्न करा आणि तुम्हाला ते कसे लक्षात आले ते लक्षात घ्या.
चेकलिस्ट
- मी मूळ कच्चा डेटा ठेवला आणि कॉपीवर काम केले?
- मी प्रत्येक हरवलेल्या स्तंभासाठी "ते रिकामे का आहे" हा प्रश्न विचारला आहे का?
- [ ] मी आउटलायर्स हटवण्यापूर्वी त्यांचे पुनरावलोकन केले का?
- [ ] मी केवळ प्रशिक्षण डेटावरून पॅडिंग मूल्याची गणना केली आहे का?
- [ ] मी प्रत्येक पायरीनंतर ओळी/ रिक्त स्थानांची संख्या तपासत आहे आणि मूक नुकसान दूर करत आहे?