एकाइहरू
1. डाटा विज्ञान र विश्लेषणमा कृत्रिम बुद्धिमत्ताको परिचय: कार्यप्रवाह, भूमिका, सीमा, प्रमाणीकरण र नैतिकता 2. डाटा सङ्कलन र स्रोत बुझाइ: योजना, नमूना, गुणस्तर र चुहावट जागरूकता 3. डाटा क्लिनिङ र प्रिप्रोसेसिङ: छुटेको मान, आउटलियर र प्रकार रूपान्तरण 4. अन्वेषण डेटा विश्लेषण (EDA): वितरण, सम्बन्ध, र प्रारम्भिक अन्तर्दृष्टि 5. सुविधा ईन्जिनियरिङ्: भेरिएन्टहरू उत्पन्न गर्दै, कोडिङ, स्केलिङ, र चुहावट बेवास्ता गर्दै 6. मोडेल निर्माण: समस्या परिभाषा, एल्गोरिथ्म चयन, र प्रशिक्षण/परीक्षण विभाजन 7. मोडेल मूल्याङ्कन: मेट्रिक्स, क्रस-प्रमाणीकरण, र चरम शिक्षा 8. भिजुअलाइजेशन र स्टोरीटेलिङ: सटीक ग्राफिक्स, इमानदार ग्राफिक्स 9. कोड जेनेरेसन: पाइथन (पान्डा) र SQL को साथ एआई-सहायता विश्लेषण 10. डाटा चुहावट र पुन: उत्पादनशीलता: मौन आपदा र अनुशासन 11. MLOps फाउन्डेशन, नैतिकता, गोपनीयता र जिम्मेवार विश्लेषण
एकाइ 6 / 11

मोडेल निर्माण: समस्या परिभाषा, एल्गोरिथ्म चयन, र प्रशिक्षण/परीक्षण विभाजन

लाभ:

  • कामको वास्तविक लागत अनुसार समस्या प्रकार (वर्गीकरण, प्रतिगमन, क्लस्टरिङ) र सफलता मापदण्ड परिभाषित गर्ने क्षमता
  • डाटालाई इमानदारीपूर्वक विभाजन गर्ने क्षमता (परीक्षण सेटलाई नछोइकन; समय श्रृंखलामा कालक्रम अनुसार) र चुहावट-मुक्त मूल्याङ्कन आधार स्थापना गर्ने
  • साधारण आधाररेखाको साथ सुरु गरेर र यो योग्य हुँदा मात्र जटिलता थपेर एक व्याख्या योग्य मोडेल छनोट गर्ने क्षमता।

अहिलेसम्म हामीले डाटा सङ्कलन गरेका छौं, सफा गरेका छौं, अन्वेषण गरेका छौं र सुविधाहरू उत्पादन गरेका छौं। अब हामी वास्तविक काममा आउँछौं, नमूना निर्माण। मोडेल एउटा गणितीय संरचना हो जसले डेटाबाट ढाँचा सिक्छ र नयाँ परिस्थितिहरूको लागि भविष्यवाणीहरू उत्पादन गर्दछ। तर मोडेल निर्माणको सबैभन्दा महत्त्वपूर्ण भाग कोड आफैं होइन, तर दुईवटा निर्णयहरू जुन यो अघि छन्: सही समस्या परिभाषित गर्ने र डाटालाई सही रूपमा विभाजन गर्ने। AI एल्गोरिथ्म चयन, कोड लेखन, र प्यारामिटर ट्युनिङ मा एक शक्तिशाली सल्लाहकार हो; तर के भविष्यवाणी गर्ने र सफलताको अर्थ के हो भनेर निर्णय गर्न यो एक व्यक्तिमा निर्भर छ। एक खराब-परिभाषित समस्याले पूर्ण रूपमा लिखित मोडेलको साथ पनि काम गर्दैन।

समस्या परिभाषा पहिले: हामी के भविष्यवाणी गर्छौं

प्रत्येक मोडलिङ कार्य एक प्रश्न संग सुरु हुन्छ, र यो प्रश्न मोडेल को प्रकार निर्धारण गर्दछ। वर्गीकरण - आउटपुट एक श्रेणी हो: "यो ग्राहक छोड्छ वा रहन्छ?", "यो लेनदेन नक्कली हो?"। प्रतिगमन (अंग्रेजी प्रतिगमनमा - आउटपुट एउटा नम्बर हो): "यो घरको मूल्य कति छ?", "अर्को महिना कति अर्डरहरू आउनेछन्?"। क्लस्टरिङ (लेबल नगरिएको डाटालाई प्राकृतिक समूहहरूमा विभाजन गर्दै): "मेरा ग्राहकहरू कतिवटा प्राकृतिक खण्डहरूमा विभाजित छन्?"।

समस्या कथनको दोस्रो भाग सफलताको मापदण्ड हो: यो मोडेल "राम्रो" हुनको लागि यसको अर्थ के हो? धोखाधडीको मोडेलमा, इमानदार ग्राहकलाई संयोगवश अवरुद्ध गर्नुभन्दा जालसाजी गुमाउनु धेरै महँगो हुन्छ; त्यसकारण, "सामान्य शुद्धता" होइन तर "ठगी गर्नेहरूलाई समात्ने दर" अगाडि आउँछ। यदि तपाईंले सुरुदेखि नै यो मापदण्डलाई व्यवसाय मालिकसँग परिभाषित गर्नुभएन भने, तपाईंले काम नगर्ने "अत्यधिक सटीक" मोडेलको साथ समाप्त हुनुहुनेछ (हामी एकाइ 7 मा मेट्रिक्समा गहिरिएर जानेछौं)।

सावधानी: "शुद्धता" भ्रामक हुन सक्छ। यदि 1000 मध्ये 10 लेनदेनहरू धोखाधडी छन् भने, "कुनै पनि जालसाजी छैन" भन्ने मूर्ख मोडेलले 99% शुद्धता दिनेछ तर एक ठगी गर्नेलाई पक्रने छैन। समस्याको वास्तविक लागतमा आधारित सफलता मापदण्ड छान्नुहोस्।

प्रशिक्षण/परीक्षण विभाजन: मोडेलको इमानदार परीक्षा

यसले सिकेको डेटाको साथ मोडेलको परीक्षण गर्नु भनेको विद्यार्थीलाई उसले/उनले परीक्षामा अध्ययन गरेको प्रश्नहरू सोध्नु जस्तै हो; उसले उच्च अंक पाउँछ तर उसलाई के थाहा छ त्यो देखाउँदैन। त्यसोभए हामीले डाटालाई दुई (प्रायः तीन) मा विभाजन गर्छौं:

  • प्रशिक्षण सेट (अंग्रेजीमा प्रशिक्षण सेट, सामान्यतया 70-80%): मोडेलले यसमा सिक्छ।
  • परीक्षण सेट (परीक्षण सेट, सामान्यतया 20-30%): मोडेलले यो देख्दैन; वास्तविक प्रदर्शन यहाँ मापन गरिएको छ।
  • प्रमाणीकरण सेट: मोडेल सेटिङको लागि प्रयोग गरिएको मध्यवर्ती सेट (कुन प्यारामिटर राम्रो छ); परीक्षण सेट "स्वच्छ" राख्न।

सबैभन्दा आधारभूत नियम: परीक्षण सेट प्रशिक्षण समयमा छोइन्छ। स्केलिङ, कोडिङ, सुविधा चयन — सबै मात्र प्रशिक्षण सेटबाट सिकाइन्छ, त्यसपछि परीक्षणमा लागू हुन्छ (एकाइ 5 बाट चुहावट सिद्धान्त)। परीक्षण सेट पहिलो पटक मोडेलले वास्तविक संसार देख्छ; यदि तपाईंले यसलाई धेरै चाँडो खोल्नु भयो भने तपाईंले साँचो कार्यसम्पादन कहिल्यै थाहा पाउनुहुनेछैन।

समय श्रृंखला अपवाद: यदि तपाईंको डाटा समय निर्भर छ (बिक्री, स्टक बजार, माग), अनियमित विभाजन गरिएको छैन। किनभने अनियमित विभाजनले मोडेललाई भविष्य देख्न र विगतको भविष्यवाणी गर्ने कारण बनाउँछ - यो चुहावट हो। यसको सट्टा, कालक्रम अनुसार विभाजन गर्नुहोस्: पुरानो अवधि संग ट्रेन, नयाँ अवधि संग परीक्षण।

एल्गोरिथ्म चयन: सरल देखि जटिल

शुरुआतीहरूको सबैभन्दा सामान्य गल्ती सबैभन्दा जटिल मोडेलको साथ सुरु गर्नु हो। सही दृष्टिकोण विपरीत छ: पहिले एक साधारण आधार रेखा स्थापित गर्नुहोस्। वर्गीकरणमा "सधैं बहुमत वर्ग अनुमान गर्नुहोस्"; प्रतिगमनमा "सधैं औसत अनुमान गर्नुहोस्"। यो मूर्ख मोडेल एक आधार रेखा दिन्छ; यदि तपाईंको वास्तविक मोडेलले यसलाई पास गर्न सक्दैन भने, त्यहाँ समस्या छ। त्यसपछि सरल र व्याख्या योग्य मोडेलहरूमा जानुहोस्।

मोडेल

समस्या प्रकार

बलियो बिन्दु

कमजोरी

आधार रेखा (बहुमत/औसत)

दुबै

बेन्चमार्क दिन्छ

सिक्दैन

लजिस्टिक प्रतिगमन

वर्गीकरण

सरल, व्याख्यायोग्य

रैखिक सम्बन्ध मात्र

रैखिक प्रतिगमन

प्रतिगमन

सरल, छिटो

रैखिक धारणा

निर्णय रूख

दुबै

व्याख्या गर्न सकिने

सजिलो सम्झना

अनियमित जंगल

दुबै

बलियो, टिकाउ

कम व्याख्यायोग्य

ग्रेडियन्ट बूस्टिङ (XGBoost आदि)

दुबै

धेरै बलियो

समायोजन गर्न गाह्रो, स्मरणको जोखिम

नियम: सरल "पर्याप्त राम्रो" मोडेल छनौट गर्नुहोस्। धेरैजसो व्यापारिक सन्दर्भमा शक्ति भन्दा व्याख्याता अधिक मूल्यवान हुन्छ; यो ऋण अस्वीकृति व्याख्या गर्न राम्रो छ "किनकि तपाईंको ऋण-देखि-आय अनुपात उच्च छ" भन्दा "किनकि कालो बक्सले त्यसो भनेको छ।"

तीन मिनी केसहरू

केस 1 - गलत समस्या परिभाषा। एउटा टोलीले "ग्राहक सन्तुष्ट छ" मा आधारित वर्गीकरण मोडेल निर्माण गर्यो तर सफलताको मापदण्डको रूपमा "सटीकता" रोज्यो। डाटामा, 88% ग्राहकहरू सन्तुष्ट थिए; मोडेलले सबैलाई "सन्तुष्ट" भनेर बोलाएर 88% सटीकता प्राप्त गर्यो र असन्तुष्ट मानिसहरूलाई कहिल्यै पक्रन सकेन - यद्यपि वास्तविक लक्ष्य तिनीहरूलाई फेला पार्नु थियो। पाठ: वास्तविक उद्देश्यमा आधारित सफलताको मापदण्ड छनौट गर्नुहोस्।

केस २ - कम्पार्टमेन्टमा समय चुहावट। माग पूर्वानुमान परियोजनामा, डाटा अनियमित रूपमा विभाजित गरिएको थियो। मोडेलले 93% सटीकता दियो तर उत्पादनमा क्र्यास भयो किनभने प्रशिक्षणमा यसले जनवरी, त्यसपछि नोभेम्बर, डिसेम्बर डाटाको साथ भविष्यवाणी गरेको थियो - यसले भविष्य देखेको थियो। जब हामीले कालानुक्रमिक विभाजनमा स्विच गर्यौं, वास्तविक प्रदर्शन बढेर 74% भयो। पाठ: समय श्रृंखलामा कालानुक्रमिक विभाजन।

केस 3 - अनावश्यक जटिलता। एक विश्लेषकले गहिरो न्यूरल नेटवर्कको साथ सीधा सुरु गर्यो, यसलाई हप्तासम्म ट्युन गर्नुभयो, र 81% शुद्धता प्राप्त गर्नुभयो। त्यसपछि एक सहकर्मीले 20 लाइनहरू लजिस्टिक रिग्रेसनको साथ 80% प्राप्त गरे - धेरै छिटो, व्याख्या गर्न योग्य र मर्मत गर्न सजिलो। पाठ: आधारभूत र सरल मोडेलबाट सुरु गर्नुहोस्, जब यो योग्य छ जटिलता थप्नुहोस्।

चार प्रतिलिपि गर्न मिल्ने टेम्प्लेटहरू

1) समस्या परिभाषा स्पष्ट गर्दै:

तपाईंको भूमिका: मोडलिङ सल्लाहकार। मलाई यो काम परिभाषित गर्न मद्दत गर्नुहोस्: "म ग्राहक मन्थन कम गर्न चाहन्छु।" मलाई सोध्नुहोस् र स्पष्ट गर्नुहोस्: (1) यो वर्गीकरण वा प्रतिगमन हो, (2) लक्ष्य चर के हो र यसलाई कसरी परिभाषित गर्नुपर्छ, (3) सफलताको मापदण्ड के हुनुपर्छ र किन। निर्णय मेरो हो; तपाइँ प्रश्न र विकल्पहरू प्रस्तुत गर्नुहुन्छ।

२) सुरक्षित प्रशिक्षण/परीक्षण डिब्बा:

मेरो df लाई प्रशिक्षण/परीक्षण 80%/20% मा विभाजन गर्नुहोस्। वर्ग वितरण (स्तरीकरण) कायम राख्नुहोस्। random_state=42। यो समय श्रृंखला होइन (स्वतन्त्र अवलोकनहरू)। विभाजन पछि प्रत्येक सेटको वर्ग अनुपात छाप्नुहोस्। कुनै पनि रूपान्तरण लागू नगरी परीक्षण सेटमा विभाजन कोड दिनुहोस्।

3) समय शृङ्खला कालक्रमिक विभाजन:

डाटा समय निर्भर छ (मिति स्तम्भ: order_date)। यादृच्छिक होइन, कालक्रम अनुसार विभाजन गर्नुहोस्: सबैभन्दा पुरानो 80% प्रशिक्षण, नयाँ 20% परीक्षण। प्रशिक्षण र परीक्षण मिति दायराहरू छाप्नुहोस् ताकि म भविष्य लीक भएको छैन भनेर प्रमाणित गर्न सकूँ।

4) आधार रेखा सेट गर्दै:

मसँग वर्गीकरण समस्या छ (लक्ष्य: मंथन ०/१)। पहिले आधाररेखा स्थापना गर्नुहोस्: DummyClassifier सँग तालिम/परीक्षण सटीकता मापन गर्नुहोस्, जसले सधैं बहुमत वर्गको भविष्यवाणी गर्छ। त्यसपछि एक साधारण लजिस्टिक रिग्रेसन तालिम दिनुहोस् र तुलना गर्नुहोस् कि यसले आधार रेखालाई हराउँछ कि छैन। दुबै छेउको मेट्रिक्स देखाउनुहोस्।

कमजोर प्रम्प्ट / बलियो प्रम्प्ट

कमजोर प्रम्प्ट:

यस डेटाको साथ उत्कृष्ट मोडेल बनाउनुहोस्।

"उत्तम" अपरिभाषित छ; त्यहाँ कुनै समस्या प्रकार, कुनै लक्ष्य, कुनै सफलता मापदण्ड र कुनै विभाजन रणनीति छैन। AI ले अनियमित ढाँचा उत्पन्न गर्दछ, सम्भवतः चुहावट।

शक्तिशाली प्रम्प्ट:

तपाईंको भूमिका: मोडलिङ सहायक। समस्या: वर्गीकरण, लक्ष्य "मंथन" (०/१), त्यहाँ वर्ग असंतुलन छ (~१२% मंथन)। सफलताको मापदण्ड: मन्थन गर्नेहरूलाई सम्झनु प्राथमिकता हो। डाटा स्वतन्त्र अवलोकन (समय श्रृंखला होइन)। कार्य: (1) 80/20% स्तरीकृत विभाजन, (2) DummyClassifier आधाररेखा, (3) लजिस्टिक रिग्रेसन, पाइपलाइनमा सबै परिवर्तनहरू र प्रशिक्षणबाट मात्र सिकेको। विभाजन गर्नु अघि परीक्षण सेट नछुनुहोस्।

यहाँ समस्या प्रकार, असंतुलन, मापदण्ड र चुहावट मापन स्पष्ट छ।

सामान्य गल्तीहरू

  • वास्तविक उद्देश्य अनुसार सफलताको मापदण्ड छनोट नगर्ने । असंतुलित डाटामा "शुद्धता" भ्रामक छ; यदि तपाईं अल्पसंख्यक वर्गलाई कब्जा गर्न चाहनुहुन्छ भने, सम्झना अगाडि आउँछ।
  • प्रशिक्षण समयमा परीक्षण सेट छुनुहोस्। विभाजन गर्नु अघि स्केलिंग/इन्कोडिङ गर्दा चुहावट हुन्छ र वास्तविक प्रदर्शन लुकाउँछ।
  • समय श्रृंखलामा अनियमित विभाजन। मोडेलले भविष्य देख्छ, उत्पादनमा पतन हुन्छ; कालानुक्रमिक विभाजन आवश्यक छ।
  • आधाररेखा स्थापना नगरी जटिल मोडेलमा जाँदै। बेन्चमार्क बिना तपाईले थाहा पाउन सक्नुहुन्न कि मोडेल वास्तवमै राम्रो छ वा छैन।
  • व्याख्यालाई बेवास्ता गर्दै। व्यापारिक निर्णयहरूमा, साधारण व्याख्या गर्न मिल्ने मोडेल प्रायः ब्ल्याक बक्स भन्दा बढी मूल्यवान हुन्छ।
सुझाव: तपाईंले मोडेल निर्माण सुरु गर्नु अघि, एउटा वाक्य लेख्नुहोस्: "यो मोडेलले _____ भविष्यवाणी गर्नेछ, यसको सफलता मेट्रिक _____ द्वारा मापन गरिनेछ, किनभने कामको वास्तविक लागत _____ हो।" यदि तपाइँ यो वाक्य भर्न सक्नुहुन्न भने, तपाइँ अझै कोड लेख्न तयार हुनुहुन्न।

संक्षेपमा

मोडेल निर्माणको सबैभन्दा महत्त्वपूर्ण पक्ष कोड होइन, तर निर्णयहरू जुन यसभन्दा अघि छन्: सही समस्या परिभाषित गर्दै (वर्गीकरण वा प्रतिगमन, लक्ष्य के हो, सफलताको मापदण्ड के हो) र डाटालाई निष्पक्ष रूपमा विभाजन गर्ने (परीक्षण सेटलाई नछोइकन; समय श्रृंखलामा कालक्रमिक)। सँधै एक साधारण आधार रेखाबाट सुरु गर्नुहोस् र जटिलता थप्नुहोस् जब यो योग्य छ; धेरै जसो व्यापारिक सन्दर्भहरूमा व्याख्याता शक्ति भन्दा मूल्यवान छ। AI एल्गोरिथ्म चयन र कोडमा एक शक्तिशाली सल्लाहकार हो, तर मानवले निर्णय गर्छ कि तपाईंले के भविष्यवाणी गर्नुहुन्छ र किन।

आवेदन कार्य

भविष्यवाणी समस्या परिभाषित गर्नुहोस् र लिखित रूपमा निम्न वाक्य पूरा गर्नुहोस्: "यस मोडेलले ___ (वर्गीकरण/रिग्रेसन) भविष्यवाणी गर्नेछ, लक्ष्य ___ हो, सफलताको मापदण्ड ___ किनभने ___।" त्यसपछि सही रणनीतिको साथ डाटा विभाजन गर्नुहोस् (यदि यो एक समय श्रृंखला हो भने, एक आधार रेखा स्थापना गर्नुहोस्, र मापन गर्नुहोस् कि साधारण ढाँचाले त्यो आधाररेखा तोड्छ।

चेकलिस्ट

  • के मैले समस्या प्रकार (वर्गीकरण/प्रतिगमन) र लक्ष्यलाई स्पष्ट रूपमा परिभाषित गरेको छु?
  • के मैले कामको वास्तविक लागतमा आधारित सफलताको मापदण्ड छनोट गरेको छु?
  • के मैले प्रशिक्षणको क्रममा परीक्षण सेटलाई अछुतो छोडेको छु?
  • [ ] यदि यो समय श्रृंखला हो भने, के मैले यसलाई कालक्रमानुसार विभाजित गरें?
  • के मैले जटिल मोडेलमा जानु अघि आधाररेखा स्थापित गरेको छु?