डेटा साइंस क्या है? [BLOCK_TYPE SECTION/STEP]
डेटा साइंस केवल मशीन लर्निंग नहीं है। यह केवल सांख्यिकी नहीं है। यह केवल प्रोग्रामिंग नहीं है। [BLOCK_TYPE SECTION/STEP]
डेटा साइंस डेटा से उपयोगी ज्ञान निकालने की कला है। इस काम का अधिकांश हिसّा आकर्षक नहीं है: यह गंदे स्प्रेडशीट्स को साफ़ करना, सही سوالات पूछना, और उन लोगों को परिणाम बताना है جو آپ کے کوڈ کی پرواہ نہیں کرتے۔ [BLOCK_TYPE SECTION/STEP]
[BLOCK_TYPE SECTION/STEP]
विशिष्ट डेटा साइंस पाइपलाइन इस प्रकार है:
1. Collect: डेटाबेस, APIs, CSVs या वेब स्क्रैपिंग से कच्चा डेटा इकट्ठा करें
2. Clean: गुम मानों को संभालें, प्रकारों को ठीक करें, डुप्लिकेट हटाएं
3. Explore: वितरणों को विज़ुअलाइज़ करें, पैटर्न खोजें, प्रश्न पूछें
4. Engineer: नई सुविधाएँ बनाएं जो मॉडल को सीखने में मदद करें
5. Model: एल्गोरिदम को ट्रेन करें, प्रदर्शन का मूल्यांकन करें, पुनरावृत्ति करें
6. Communicate: निष्कर्षों को हितधारकों को प्रस्तुत करें जो निर्णय लेते हैं
यदि आपने कभी Excel पिवट टेबल्स, कंडीशनल फ़ॉर्मेटिंग या VLOOKUP का उपयोग किया है, तो आपने पहले से ही चरण 1-3 कर लिए हैं. यह पाठ उस अनुभع को Python-आधारित वर्कफ़्लो में जोड़ता है जो उद्योग में उपयोग होता है.
Warm-Up
आपका डेटा अनुभव
हर व्यक्ति ने किसी न किसी रूप में डेटा के साथ काम किया है: एक बजट स्प्रेडशीट, एक ग्रेड ट्रैकर, एक फिटनेस ऐप, या यहां तक कि प्लेलिस्ट जिसमें प्ले काउंट्स भी शामिल हैं।
कचरा अंदर, कचरा बाहर
डेटा सफाई क्यों महत्वपूर्ण है
डेटा साइंटिस्ट अपने समय का 60-80% डेटा सफाई में लगाते हैं। यह कोई अतिशयोक्ति नहीं है: यह उद्योग सर्वेक्षणों में लगातार पाया जाने वाला निष्कर्ष है।
कारण सरल है: garbage in, garbage out। यदि आपके डेटा में त्रुटियाँ, अनुपस्थित मान, या असंगत प्रारूप हैं, तो उस पर आधारित हर विश्लेषण गलत होगा। गंदे डेटा पर प्रशिक्षित एक परफेक्ट मॉडल आत्मविश्वास से गलत उत्तर देता है।
सामान्य डेटा समस्याएँ
- अनुपस्थित मान: सेल खाली हैं। क्या डेटा एकत्र नहीं किया गया, या मान वास्तवاً शून्य है? ये अलग-अलग स्थितियाँ हैं जिन्हें अलग-अलग तरीके से संभालना चाहिए।
- गलत डेटा प्रकार: संख्याओं का एक कॉलम टेक्स्ट के रूप में संग्रहीत, असंगत प्रारूपों में दिनांक (01/02/2024: क्या यह 2 जनवरी है या 1 फरवरी?)
- आउटलायर्स: एक वेतन कॉलम में एक प्रविष्टि $1,000,000,000 है। क्या यह वास्तविक है, या टाइपो है? किसी भी तरह से, यह आपके औसत को विकृत करेगा।
- डुप्लिकेट्स: एक ही रिकॉर्ड दो बार दिखाई देता है क्योंकि दो सिस्टम अपूर्ण रूप से मर्ज हो गए
- कैटेगोरिकल एन्कोडिंग: एक कॉलम में 'Yes', 'yes', 'Y', 'TRUE', और '1' लिखा है। ये सभी एक ही चीज़ का मतलब रखते हैं, लेकिन आपका कंप्यूटर इसे नहीं जानता।
Pandas (स्टैंडर्ड Python डेटा लाइब्रेरी) में, आप इन समस्याओं को dropna(), fillna(), astype(), और drop_duplicates() जैसी विधियों से हैंडल करते हैं। लेकिन असली चुनौती कोड नहीं है: बल्कि यह तय करना है कि प्रत्येक समस्या के साथ क्या करना है।
क्लीनिंग निर्णय
क्या करें, यह तय करना
यहाँ एक वास्तविक परिदृश्य है। आपके पास 10,000 ग्राहक रिकॉर्ड्स का डेटासेट है। 'age' कॉलम में 500 मान गायब हैं।
आपके विकल्प:
- पंक्तियाँ हटाएँ: सभी 500 रिकॉर्ड हटा दें। सरल, लेकिन आप अपने डेटा का 5% खो देते हैं। यदि वे 500 ग्राहक कोई सामान्य विशेषता साझा करते हैं (शायद उन्होंने उम्र का क्षेत्र इसलिए छोड़ा क्योंकि वे गोपनीयता-संवेदनशील हैं), तो उन्हें हटाने से पूर्वाग्रह उत्पन्न होता है।
- माध्य से भरें: रिक्त स्थानों को औसत उम्र से बदलें। त्वरित, लेकिन यह आपकी उम्र के कॉलम की विविधता को कृत्रिम रूपًا कम कर देता है।
- माध्यिका से भरें: यदि उम्र का वितरण विषम है (कुछ बहुत पुराने या बहुत युवा ग्राहक औसत को प्रभावित करते हैं), तो माध्य से बेहतर है।
- फ़्लैग का उपयोग करें: 'age_missing' नामक एक नया कॉलम बनाएं (1 या 0) 并 fill the original with the median. अब आपका मॉडल सीख सकता है कि क्या missingness स्वयं सूचनात्मक है।
कोई सार्वभौमिक सही उत्तर नहीं है। पसंद इस पर beruht कि डेटا क्यों गायब है & आप इसका क्या करने की планируете।
सही सवाल पूछना
एक्सप्लोरेटरी डेटा एनालिसिस (EDA)
किसी भी मॉडल को बनाने से पहले, आपको अपने डेटा को समझना चाहिए। EDA डेटासेट को सारांशित करने, विज़ुअलाइज़ करने, और पैटर्न्स, एनोमलीज़, और रिलेशनशिप्स खोजने के लिए सवाल पूछने की प्रक्रिया है।
मुख्य उपकरण
- हिस्टोग्राम: एकल चर के वितरण को दर्शाते हैं। क्या यह घंटी के आकार का है? तिरछा? द्वि-शिखर (दो चोटियाँ)? आय का हिस्टोग्राम हमेशا दाईं ओर तिरछा होता ہے کیونکہ چند لوگ اکثریت سے کہیں زیادہ کماتے ہیں۔
- स्कैटर प्लॉट: दो चरों के बीच संबंध को दर्शाते ہیں۔ کیا لمبے لوگ زیادہ وزن رکھتے ہیں؟ کیا زیادہ مطالعہ کا وقت زیادہ گریڈز سے منسلک ہے؟ نمونہ (یا اس کی عدم موجودگی) بتاتا ہے کہ آیا کوئی تعلق موجود ہے۔
- सहसंबंध: -1 और +1 के درمیان ایک نمبر جو لکیری تعلق کو ناپتا ہے۔ +1 کا مطلب کامل مثبت تعلق، -1 کا مطلب کامل منفی تعلق، اور 0 کا مطلب کوئی لکیری تعلق نہیں۔ لیکن सहसंबंध کا مطلب وجہ نہیں: آئس کریم کی فروخت اور ڈوبنے کی اموات correlated ہیں کیونکہ دونوں گرمیوں میں بڑھتی ہیں۔
- सारांश आंकड़े: माध्य, माध्यिका, मानक विचलन, न्यूनतम, زیادہतम۔ pandas میں: df.describe() ایک لائن میں یہ سب دیتا ہے۔
असली कौशल
टूल्स सीखना आसान है। मुश्किल हिस्सा सही सवाल पूछना है। गलत सवाल: 'डेटा क्या कहता है?' सही सवाल: 'क्या वे ग्राहक जो पहले सप्ताह के अंदर सपोर्ट से संपर्क करते हैं, उनकी रिटेंशन रेट्स ज्यादा होती हैं?'
Correlation Trap
Correlation vs. Causation
डेटा साक्षरता में यह सबसे महत्वपूर्ण अवधारणा है। दो वेरिएबल्स के बीच मजबूत संबंध हो सकता है, बिना एक के दूसरे का कारण बने।
क्लासिक उदाहरण:
- जिन शहरों में ज्यादा फायरफाइटर हैं, वहाँ ज्यादा आग लगती है। (बड़े शहरों में दोनों ज्यादा होते हैं।)
- नाश्ता करने वाले छात्रों के ग्रेड बेहतर होते हैं। (शायद अमीर परिवार नाश्ता और शैक्षणिक सहायता दोनों देने की अधिक संभावना रखते हैं।)
- जो देश अधिक चॉकलेट का सेवन करते हैं, उन्हें अधिक नोबेल पुरस्कार मिलते हैं। (दोनों राष्ट्रीय संपत्ति से संबंधित हैं।)
छिपा हुआ कारक confounding variable कहलाता है: एक तीसरा चर जो उन दोनों चरों को प्रभावित करता है जिन्हें आप देख रहे हैं।
उपयोगी वेरिएबल्स बनाना
फ़ीचर इंजीनियरिंग क्या है?
एक फ़ीचर एक इनपुट वेरिएबल है जिसका उपयोग मॉडल भविष्यवाणियाँ करने के लिए करता है। फ़ीचर इंजीनियरिंग कच्चे डेटा से नए फ़ीचर्स बनाने की कला है, ताकि मॉडल उन पैटर्न्स को सीख सकें जो अन्यथा नहीं देख पाते।
कच्चा डेटा शायद ही कभी मॉडल की आवश्यकता के अनुसार आता है। 'जन्म तिथि' कॉलम वाले डेटासेट पर विचार करें। मॉडल कच्ची तिथियों के साथ कुछ खास नहीं कर सकता। लेकिन यदि आप उससे एक 'उम्र' फ़ीचर बनाते हैं, तो मॉडल अचानक उम्र-आधारित पैटर्न्स को सीख सकता है।
सामान्य तकनीकें
- नॉर्मलाइज़ेशन: संख्याओं को एक सामान्य रेंज में स्केल करना (0 से 1 तक, या mean=0 और standard deviation=1)। इसके बिना, हजारों में मापी गई एक फीचर (जैसे सैलरी) एक अंकों में मापी गई फीचर (जैसे वर्षों का अनुभव) पर हावी हो जाएगी।
- वन-हॉट एन्कोडिंग: श्रेणीबद्ध चरों को बाइनरी कॉलम में बदलना। एक 'रंग' कॉलम जिसमें मान [लाल, नीला, हरा] हों, तीन कॉलम बन जाते हैं: 'color_red', 'color_blue', 'color_green', प्रत्येक में 0 या 1।
- बिनिंग: एक सतत चर को श्रेणियों में बदलना। उम्र 0-17 को 'minor' बनाया जाता है, 18-64 को 'adult', और 65+ को 'senior'। यह तब hilft, जब संबंध रैखिक नहीं है।
- इंटरैक्शन फीचर्स: दो फीचर्स को गुणा करना। 'वर्ग फुटेज गुणा बाथरूम की संख्या' घर की कीमत को अकेले किसी भी फीचर से बेहतर भविष्यवाणी कर सकती है।
- डोमेन नॉलेज: सबसे शक्तिशाली तकनीक। एक डॉक्टर जो चिकित्सा मॉडल के लिए फीचर्स बनाता है, जानता है कि कौन सी लैब वैल्यूज़ मायने रखती हैं。 एक मार्केटर जानता है कि 'आखिरी खरीदारी से गुजरे दिन' 'खरीदारी की तारीख' से अधिक उपयोगी है। कोई भी एल्गोरिदम इसकी जगह नहीं ले सकता।
फीचर प्रैक्टिस
फीचर इंजीनियरिंग लागू करना
कल्पना कीजिए कि आप एक मॉडल बना रहे हैं जो यह भविष्यवाणी करेगा कि अगले महीने कौन से ग्राहक अपनी स्ट्रीमिंग सदस्यता रद्द करेंगे। आपके रॉ डेटा में शामिल हैं:
- खाता बनाने की तारीख
- अंतिम लॉगिन तारीख
- पिछले महीने देखे गए शो की संख्या
- मासिक भुगतान राशि
- ग्राहक सहायता टिकट दाखिल किए
- देश
ट्रेन/टेस्ट स्प्लिट
आप अपना डेटा क्यों स्प्लिट करते हैं
मॉडलिंग का सबसे महत्वपूर्ण नियम: कभी भी मॉडल का मूल्यांकन उसी डेटा पर न करें जिस पर आपने उसे ट्रेन किया है।
यदि आप ऐसा करते हैं, तो मॉडल केवल उत्तरों को याद कर सकता है। यह ट्रेनिंग डेटा पर पूरी तरह से स्कोर करेगा लेकिन नए, अनदेखे डेटा पर विफल हो जाएगा। इसे ओवरफिटिंग कहा जाता है: मॉडल ने आपके विशिष्ट डेटासेट में मौजूद शोर को सीख लिया है न कि वास्तविक पैटर्न को।
मानक अभ्यास डेटा को विभाजित करना है:
- ट्रेनिंग सेट (आमतौर पर 70-80%): मॉडल इससे सीखता है
- टेस्ट सेट (आमतौर पर 20-30%): अलग रखा जाता है, केवल अंतिम मॉडल का मूल्यांकन करने के लिए उपयोग किया जाता है
scikit-learn में: X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
सामान्य एल्गोरिदम
- Linear regression: डेटा के माध्यम से सबसे उपयुक्त सीधी रेखा खींचता है। सरल, व्याख्या करने योग्य, तब काम करता है जब संबंध लगभग रैखिक हो। एक संख्या (कीमत, तापमान, स्कोर) की भविष्यवाणी करता है।
- Decision trees: हाँ/नहीं के प्रश्नों का फ्लोचार्ट। समझने और व्याख्या करने में आसान। जब तक गहराई सीमित न की जाए या काट-छाँट न की जाए, ओवरफिटिंग की संभावना रहती है।
- Random forests: कई डिसीजन ट्रीज जो एक साथ वोट करते हैं। एक single tree से अधिक सटीق، ओवरफिटिंग की संभावना कम, لیکن समझانے میں زیادہ پیچیدہ۔
Overfitting vs. Underfitting
- Overfitting: मॉडल बहुत जटिल है। यह ट्रेनिंग डेटا को याद रखता है, بشمول noise۔ ट्रेनिंग डेटا पर हाई एक्यूरेسی، ٹیسٹ ڈیٹا پر لو و ایک्यूरेسی۔
- Underfitting: मॉडल बहुत सरल है। यह حقیقی پیٹرن کو کیپچر نہیں کر سکتا۔ دونوں ٹریننگ اور ٹیسٹ ڈیٹا پر لو و ایک्यूरेسی۔
The goal is the sweet spot in between.
मूल्यांकन मेट्रिक्स
आप कैसे जानते हैं कि आपका मॉडल अच्छा है?
केवल Accuracy भ्रामक हो सकती है। यदि 95% ईमेल स्पैम नहीं हैं, तो एक मॉडल जो हमेशा 'स्पैम नहीं' कहता है, 95% सही होगा: लेकिन पूरी तरह से बेकार।
मुख्य मेट्रिक्स:
- Accuracy: सही भविष्यवाणियों का प्रतिशत। तब उपयोगी जब क्लासेस संतुलित हों।
- Precision: मॉडल द्वारा पॉजिटिव के रूप में फ्लैग की गई सभी चीज़ों में से, वास्तव में कितनी सही थीं? उच्च Precision का मतलब कम गलत अलार्म।
- Recall: सभी वास्तविक पॉजिटिव में से, मॉडल ने कितने को पकड़ा? उच्च Recall का मतलब कम छूटे हुए मामले।
- F1 स्कोर: प्रेसिजन और रिकॉल का हार्मोनिक मीन। जब आपको दोनों को बैलेंस करने की जरूरत हो तो उपयोगी।
- RMSE (रूट मीन स्क्वेयर्ड एरर): रिग्रेशन (नंबर्स की भविष्यवाणी) के लिए। औसतन भविष्यवाणियाँ कितनी गलत हैं?
कौन सा मेट्रिक सबसे महत्वपूर्ण है, यह समस्या पर निर्भर करता है। कैंसर डिटेक्शन के लिए रिकॉल ज्यादा मायने रखता है: आप एक केस मिस नहीं करना चाहते। स्पैम फिल्टरिंग के लिए प्रेसिजन ज्यादा मायने रखता है: आप एक रियल ईमेल डिलीट नहीं करना चाहते।
डेटा एनालिस्ट बनाम डेटा साइंटिस्ट बनाम एमएल इंजीनियर
तीन अलग-अलग भूमिकाएँ
डेटा क्षेत्र में तीन मुख्य करियर ट्रैक हैं, और इनके लिए अलग-अलग कौशल की आवश्यकता होती है।
डेटा एनालिस्ट
- Focus: मौजूदा डेटा से बिजनेस सवालों का जवाब देना
- Tools: SQL, Excel, Tableau, basic Python or R
- Day-to-day: dashboards, reports, A/B test analysis, stakeholder presentations
- Entry path: अक्सर सबसे आसान। कई एनालिस्ट बिना CS डिग्री के शुरू करते हैं।
Data Scientist
- Focus: जटिल डेटा में पैटर्न खोजना और प्रेडिक्टिव मॉडल बनाना
- Tools: Python (pandas, scikit-learn, matplotlib), statistics, SQL, Jupyter notebooks
- Day-to-day: EDA, feature engineering, model building, experimentation
- Entry path: typically requires statistics or quantitative background. Bootcamps & self-study are viable.
Machine Learning Engineer
- Focus: deploying & scaling models in production systems
- Tools: Python, TensorFlow/PyTorch, Docker, cloud platforms (AWS/GCP), APIs
- Day-to-day: model optimization, pipeline infrastructure, monitoring production models
- Entry path: usually requires strong software engineering skills plus ML knowledge.
पोर्टफोलियो बनाना
हायरिंग मैनेजर इस बात पर ध्यान देते हैं कि आप क्या कर सकते हैं, न कि केवल आपने क्या पढ़ा है। GitHub पर 3-5 ठोस प्रोजेक्ट्स का पोर्टफोलियो सर्टिफिकेशन से ज्यादा महत्वपूर्ण है। अच्छे प्रोजेक्ट्स असली (न कि टॉय) डेटासेट्स का इस्तेमाल करते हैं, स्पष्ट डॉक्यूमेंटेशन शामिल करते हैं,并显示完整管道:从混乱的数据到可操作的洞见。
आपके अगले कदम
यहां से कहां जाएं
ट्रेड के टूल्स मुफ्त और सुलभ हैं:
- pandas: डेटा मैनिपुलेशन के लिए स्टैंडर्ड Python लाइब्रेरी
- matplotlib / seaborn: विज़ुअलाइज़ेशन लाइब्रेरीज़
- scikit-learn: क्लासिकल मशीन लर्निंग के लिए वर्कहॉर्स
- Jupyter notebooks: इंटरैक्टिव कोडिंग एनवायरनमेंट्स जहां आप कोड, आउटपुट और नोट्स को मिक्स कर सकते हैं
- Kaggle: फ्री डेटासेट्स, कॉम्पिटिशन्स, और प्रैक्टिशनर्स का कम्युनिटी
एक ऐसे रियल डेटासेट से शुरू करें जो आपको दिलचस्प लगे। इसे डाउनलोड करें, क्लीन करें, एक्सप्लोर करें, और कोई सवाल पूछने की कोशिश करें। वह एक प्रोजेक्ट आपको किसी भी कोर्स से ज्यादा सिखाएगा।