परियोजना का दायरा: समस्या और सफलता के मानदंड तय करना
कोड लिखने से पहले आप एक पृष्ठ का परियोजना-चार्टर लिखेंगे, जिसमें पूर्वानुमान का लक्ष्य, सफलता के मेट्रिक्स, डेटा स्रोत और परिनियोजन की सीमाएँ स्पष्ट होंगी।
परियोजना का दायरा: समस्या और सफलता के मानदंड तय करना, CoddyKit पर Machine Learning Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Machine Learning Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Machine Learning Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
दायरा निर्धारित करना सबसे महत्वपूर्ण चरण क्यों है
ML परियोजनाओं के विफल होने का सबसे आम कारण खराब तरीके से चुना गया एल्गोरिदम नहीं, बल्कि खराब तरीके से परिभाषित समस्या है। परियोजना का दायरा निर्धारित करना एक अस्पष्ट व्यावसायिक आवश्यकता ('हम AI का उपयोग करना चाहते हैं') को सटीक, मापने योग्य विनिर्देशन में बदलता है, जो आगे के प्रत्येक तकनीकी निर्णय का मार्गदर्शन करता है। अच्छी तरह निर्धारित दायरे वाली परियोजना मॉडलिंग कोड की एक भी पंक्ति लिखने से पहले भविष्यवाणी लक्ष्य, सफलता के मानदंड, डेटा संबंधी आवश्यकताएँ और परिनियोजन की बाधाएँ तय करती है।
सही ML रूपरेखा चुनना
स्कोप तय करने का पहला निर्णय ML कार्य के प्रकार का होता है। पूछिए: क्या आउटपुट कोई संख्या (रिग्रेशन), श्रेणी (वर्गीकरण), रैंकिंग (रैंक करना सीखना), क्लस्टर (अनसुपरवाइज्ड), या अनुक्रम (NLP/समय-श्रृंखला) है? इनमें से हर प्रकार के लिए अलग एल्गोरिदम, डेटा आवश्यकताएँ और मेट्रिक्स होते हैं। उदाहरण के लिए, 'ग्राहक के churn की भविष्यवाणी करना' बाइनरी वर्गीकरण की समस्या है, रिग्रेशन की नहीं, भले ही व्यवसाय की अंतिम चिंता राजस्व हो।
# Scoping checklist — ML task type
questions = [
'What is the exact output the model should produce?',
'Is the output a number (regression) or a category (classification)?',
'Do we need probabilities, or just labels?',
'Is there a natural ordering in the labels (ordinal vs nominal)?',
'Is this supervised (labelled data exists) or unsupervised?',
'Is time ordering important (time-series)?'
]
for q in questions:
print('•', q)भविष्यवाणी लक्ष्य को परिभाषित करना
भविष्यवाणी लक्ष्य (लेबल या आश्रित चर) को स्पष्ट रूप से परिभाषित करना आवश्यक है। 'क्या यह ग्राहक churn करेगा?' अस्पष्ट है: किस समयावधि के भीतर? churn की कौन-सी परिभाषा उपयोग होगी (रद्द करना, निष्क्रियता, रिफंड)? लक्ष्य की सटीक परिभाषा यह हो सकती है: 'क्या ग्राहक अपनी पिछली खरीदारी के बाद के 90 दिनों में कोई खरीदारी नहीं करेगा?' हर शब्द महत्वपूर्ण है, क्योंकि इसी से तय होता है कि डेटाबेस की कौन-सी पंक्तियाँ प्रशिक्षण उदाहरण बनेंगी।
# Example: formalising target definition in code
import pandas as pd
def label_churn(df, observation_date, prediction_window_days=90):
'''
Label a customer as churned (1) if they made no purchase
in the prediction_window_days after observation_date.
'''
cutoff = pd.Timestamp(observation_date)
window_end = cutoff + pd.Timedelta(days=prediction_window_days)
churned = (
df.groupby('customer_id')['purchase_date']
.apply(lambda dates: not any((dates > cutoff) & (dates <= window_end)))
.reset_index(name='churned')
)
return churnedडेटा स्रोतों और व्यवहार्यता की पहचान करना
लक्ष्य परिभाषित करने के बाद उपलब्ध डेटा का ऑडिट कीजिए। पूछिए: क्या लेबल किया हुआ ऐतिहासिक डेटा मौजूद है? वह कितना पुराना है — क्या उसमें पर्याप्त प्रशिक्षण उदाहरण हैं? क्या फीचर भविष्यवाणी के समय उपलब्ध होते हैं (न कि केवल घटना के बाद)? जो फीचर परिणाम के बाद ही दर्ज होता है (जैसे, 'शिकायत दर्ज की गई'), वह डेटा लीकेज का जोखिम है। किसी फीचर को चुनने से पहले उसे उसके स्रोत, संग्रह की आवृत्ति और उपलब्धता में लगने वाले विलंब से मैप कीजिए।
# Data audit template
data_sources = [
{'feature': 'days_since_last_purchase', 'source': 'orders DB', 'latency_hours': 1, 'leakage_risk': False},
{'feature': 'total_spend_90d', 'source': 'orders DB', 'latency_hours': 1, 'leakage_risk': False},
{'feature': 'support_tickets_opened', 'source': 'CRM', 'latency_hours': 24, 'leakage_risk': False},
{'feature': 'refund_requested', 'source': 'finance DB', 'latency_hours': 1, 'leakage_risk': True}
]
import pandas as pd
audit = pd.DataFrame(data_sources)
print(audit)
print('\nFeatures with leakage risk:')
print(audit[audit['leakage_risk'] == True]['feature'].tolist())मात्रात्मक सफलता मानदंड तय करना
अस्पष्ट सफलता मानदंड ('मॉडल सटीक होना चाहिए') परियोजनाओं का मूल्यांकन असंभव बना देते हैं। सफलता के मानदंड विशिष्ट, मापने योग्य, प्राप्त करने योग्य, प्रासंगिक और समयबद्ध (SMART) होने चाहिए। एक प्राथमिक मेट्रिक (जैसे, धोखाधड़ी का पता लगाने के लिए recall ≥ 0.80), एक द्वितीयक मेट्रिक (precision ≥ 0.70) और एक व्यावसायिक मेट्रिक (6 महीनों के भीतर churn से होने वाले नुकसान को 15% कम करना) परिभाषित कीजिए। इन्हीं से तय होता है कि मॉडल कब लॉन्च करना है और कब फिर से प्रशिक्षण देना है।
# Formalised success criteria
success_criteria = {
'primary_metric': {
'name': 'recall (churn class)',
'threshold': 0.80,
'rationale': 'Missing a churner costs more than a false alert'
},
'secondary_metric': {
'name': 'precision (churn class)',
'threshold': 0.60,
'rationale': 'Intervention budget: can only contact 40% of flagged customers'
},
'business_metric': {
'name': 'retained revenue lift',
'threshold': '+15% over no-model baseline',
'measurement': 'A/B test over 90 days post-launch'
}
}
for metric, spec in success_criteria.items():
print(f'{metric}: {spec}')बेसलाइन प्रदर्शन: जिसे पार करना है
कोई भी मॉडल बनाने से पहले एक baseline परिभाषित कीजिए — ऐसा सबसे सरल उचित समाधान, जिससे सभी मॉडलों की तुलना की जाएगी। वर्गीकरण में baseline आम तौर पर DummyClassifier होता है, जो बहुसंख्यक वर्ग की भविष्यवाणी करता है या वर्ग की आवृत्ति के अनुसार भारित यादृच्छिक भविष्यवाणियाँ करता है। रिग्रेशन में यह माध्य की भविष्यवाणी करना होता है। जो मॉडल इस baseline से बेहतर प्रदर्शन नहीं कर सकता, वह कोई व्यावसायिक मूल्य नहीं देता और उसे तैनात नहीं किया जाना चाहिए।
from sklearn.dummy import DummyClassifier
from sklearn.metrics import classification_report
import numpy as np
# Simulate imbalanced dataset (10% churn rate)
np.random.seed(42)
y = np.random.choice([0, 1], size=1000, p=[0.9, 0.1])
# Majority-class baseline
dummy = DummyClassifier(strategy='most_frequent')
dummy.fit(np.zeros((1000, 1)), y) # features irrelevant for dummy
y_dummy = dummy.predict(np.zeros((1000, 1)))
print(classification_report(y, y_dummy, target_names=['retained', 'churned']))तैनाती की सीमाएँ: विलंब और थ्रूपुट
95% सटीक मॉडल भी यदि हर भविष्यवाणी में 10 सेकंड लेता है, तो रियल-टाइम अनुशंसा प्रणाली में बेकार है। स्कोप तय करते समय तैनाती की सीमाएँ दर्ज करनी चाहिए: विलंब (हर भविष्यवाणी में अधिकतम समय), थ्रूपुट (प्रति सेकंड भविष्यवाणियाँ), मेमोरी फ़ुटप्रिंट (मोबाइल बनाम क्लाउड), और अपडेट की आवृत्ति (हर दिन बनाम हर महीने फिर से प्रशिक्षण)। कोड लिखे जाने से पहले ही ये सीमाएँ अक्सर एल्गोरिदम के पूरे परिवारों को बाहर कर देती हैं।
# Deployment constraint spec
deployment = {
'serving_mode': 'batch (nightly scoring of all active customers)',
'max_latency_ms': None, # batch: no real-time constraint
'throughput_rps': None,
'memory_budget_mb': 512, # must run on a single EC2 t3.medium
'retraining_frequency': 'weekly',
'max_model_size_mb': 100,
'explainability_required': True,
'regulatory_audit_trail': True
}
for k, v in deployment.items():
print(f'{k}: {v}')नैतिक और कानूनी समीक्षा पहले ही करना
किसी परियोजना के लिए प्रतिबद्ध होने से पहले नैतिक और कानूनी जोखिमों का आकलन कीजिए। पूछिए: क्या मॉडल सेवाओं, रोजगार या ऋण तक व्यक्तियों की पहुँच को प्रभावित करता है? क्या संरक्षित विशेषताएँ (नस्ल, लिंग, आयु) सीधे मौजूद हैं या प्रॉक्सी से निकाली जा सकती हैं? क्या GDPR, CCPA या क्षेत्र-विशिष्ट नियम (स्वास्थ्य सेवा के लिए HIPAA, ऋण के लिए FCRA) लागू होते हैं? स्कोप तय करते समय इन मुद्दों की पहचान करने में कुछ मिनट लगते हैं; तैनाती के बाद इनका पता चलने पर लाखों का खर्च हो सकता है और उपयोगकर्ताओं का भरोसा नष्ट हो सकता है।
# Ethics and legal checklist
ethics_checklist = [
('High-stakes decisions on individuals?', True, 'churn model triggers retention offers, low risk'),
('Protected attributes in data?', True, 'age and region present — must audit for proxy bias'),
('GDPR data minimisation required?', True, 'only collect features needed for prediction'),
('Right to explanation required?', True, 'EU AI Act high-risk? Check with legal team'),
('Regulatory filing required?', False, 'B2C retention model, not financial services')
]
for question, answer, note in ethics_checklist:
print(f'[{"YES" if answer else "NO"}] {question} -> {note}')एक-पृष्ठीय परियोजना चार्टर
स्कोप से जुड़े सभी निर्णयों को एक संक्षिप्त परियोजना चार्टर में दर्ज किया जाना चाहिए — एक ऐसा एक-पृष्ठीय दस्तावेज़, जिसे हितधारक, इंजीनियर और डेटा वैज्ञानिक काम शुरू होने से पहले पढ़कर स्वीकार कर सकें। चार्टर में समस्या का विवरण, ML कार्य का प्रकार, भविष्यवाणी लक्ष्य की परिभाषा, डेटा स्रोत, सफलता के मेट्रिक्स, baseline, तैनाती की सीमाएँ और नैतिक विचार शामिल होते हैं। पूरी परियोजना के दौरान स्कोप के अनियंत्रित विस्तार से जुड़ी चर्चाओं के लिए यही वास्तविक संदर्भ बन जाता है।
charter_template = '''
PROJECT CHARTER
===============
Problem: Identify customers at risk of churning before they cancel.
ML Task: Binary classification (churned=1, retained=0)
Target: No purchase in 90 days after monthly observation date
Data Sources: orders DB, CRM (support tickets), product analytics
Primary Metric: Recall >= 0.80 on held-out test set
Secondary Metric: Precision >= 0.60
Baseline: DummyClassifier majority-class (recall = 0, precision = NaN)
Deployment: Batch scoring, weekly retraining, 100 MB model limit
Ethical Flags: Audit for age/region proxy bias; GDPR minimisation
Timeline: MVP in 6 weeks; A/B test for 90 days; review in month 5
'''
print(charter_template)स्कोप पर बार-बार काम करना
स्कोप तय करना एक बार की गतिविधि नहीं है। शुरुआती डेटा अन्वेषण (EDA) के बाद आपको पता चल सकता है कि ऐतिहासिक डेटा से लेबल निकालना असंभव है, वर्ग असंतुलन अपेक्षा से अधिक है, या सबसे उपयोगी फीचर की विलंबता रियल-टाइम सेवा के लिए बहुत अधिक है। EDA के बाद कम-से-कम एक स्कोप संशोधन और baseline मॉडल चलाने के बाद एक और संशोधन की योजना बनाइए। समस्या की परिभाषा कैसे विकसित हुई, यह ट्रैक करने के लिए परियोजना चार्टर को तारीखों सहित संस्करणित कीजिए।
# Charter revision log (tracked in version control)
revision_log = [
{'version': 'v1.0', 'date': '2026-06-01',
'change': 'Initial scope: 30-day churn window'},
{'version': 'v1.1', 'date': '2026-06-05',
'change': 'EDA: 30-day window has only 4% churn rate (too imbalanced); widened to 90 days'},
{'version': 'v1.2', 'date': '2026-06-10',
'change': 'Baseline run: dummy recall=0, real-time serving infeasible (10s latency); switched to batch'}
]
for rev in revision_log:
print(f"{rev['version']} ({rev['date']}): {rev['change']}")चार्टर से कार्य-योजना तक
पूरा किया हुआ चार्टर ठोस कार्य-योजना का आधार बनता है। परियोजना को चरणों में बाँटिए: चरण 1 — EDA और डेटा गुणवत्ता ऑडिट; चरण 2 — फीचर इंजीनियरिंग और baseline; चरण 3 — मॉडल चयन और ट्यूनिंग; चरण 4 — मूल्यांकन और निष्पक्षता ऑडिट; चरण 5 — तैनाती, निगरानी और A/B परीक्षण। हर चरण के लिए जिम्मेदार व्यक्ति और समय-सीमा तय कीजिए। यह संरचना तब भी समान रहती है, चाहे आपकी समय-सीमा दो सप्ताह हो या छह महीने।
project_phases = [
('Phase 1', 'EDA + data quality audit', '2026-06-01', '2026-06-07'),
('Phase 2', 'Feature engineering + baseline model', '2026-06-08', '2026-06-14'),
('Phase 3', 'Model selection + hyperparameter tuning', '2026-06-15', '2026-06-21'),
('Phase 4', 'Evaluation, fairness audit, model card', '2026-06-22', '2026-06-25'),
('Phase 5', 'Deploy + A/B test + monitoring setup', '2026-06-26', '2026-07-31')
]
print(f'{'Phase':8} | {'Deliverable':42} | Start | End')
print('-' * 80)
for phase, desc, start, end in project_phases:
print(f'{phase:8} | {desc:42} | {start} | {end}')त्वरित जाँच
इस पाठ में दिए गए Python के साथ Machine Learning संबंधी अवधारणाओं की अपनी समझ जाँचिए।
पाठ का पुनरावलोकन
इस पाठ में आपने सीखा: परियोजना का स्कोप तय करना, कोड लिखे जाने से पहले व्यावसायिक आवश्यकताओं को सटीक ML विनिर्देशों में बदलता है, सफलता के मानदंड मात्रात्मक होने चाहिए और मॉडल मेट्रिक्स तथा व्यावसायिक परिणामों दोनों से जुड़े होने चाहिए, और बाद में महँगे बदलावों से बचने के लिए तैनाती की सीमाओं, नैतिक जोखिमों और डेटा की व्यवहार्यता का पहले ही आकलन करना चाहिए। आगे हम डेटा रैंगलिंग और खोजपरक डेटा विश्लेषण में गहराई से जाएँगे, ताकि कच्चे डेटासेट को समझ सकें और गुणवत्ता संबंधी समस्याएँ खोज सकें।
एआई शिक्षक के साथ Python सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “परियोजना का दायरा: समस्या और सफलता के मानदंड तय करना” पाठ निःशुल्क है?
हाँ—“परियोजना का दायरा: समस्या और सफलता के मानदंड तय करना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Machine Learning Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Machine Learning Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“परियोजना का दायरा: समस्या और सफलता के मानदंड तय करना” में मैं क्या सीखूँगा?
कोड लिखने से पहले आप एक पृष्ठ का परियोजना-चार्टर लिखेंगे, जिसमें पूर्वानुमान का लक्ष्य, सफलता के मेट्रिक्स, डेटा स्रोत और परिनियोजन की सीमाएँ स्पष्ट होंगी। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Machine Learning Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Machine Learning Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Machine Learning Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“परियोजना का दायरा: समस्या और सफलता के मानदंड तय करना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Machine Learning Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Machine Learning Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- परियोजना का दायरा: समस्या और सफलता के मानदंड तय करना
- डेटा व्यवस्थित करना और अन्वेषणात्मक डेटा विश्लेषण
- मॉडल चयन प्रतियोगिता: पाँच एल्गोरिदमों की तुलना
- अंतिम मॉडल को पैकेज करना, दस्तावेज़ित करना और प्रस्तुत करना