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

वैशिष्ट्य अभियांत्रिकी: रूपे निर्माण करणे, कोडिंग, स्केलिंग आणि गळती टाळणे

नफा:

  • डोमेन ज्ञानासह अर्थपूर्ण व्युत्पन्न वैशिष्ट्ये तयार करण्याची क्षमता आणि योग्य पद्धतींसह स्पष्ट श्रेणी एन्कोड करण्याची क्षमता (एक-हॉट, लेबल, लक्ष्य)
  • मॉडेल प्रकारानुसार संख्यात्मक चल मोजण्याची क्षमता (मानकीकरण, सामान्यीकरण) आणि अनावश्यक किंवा अपूर्ण स्केलिंग टाळा
  • प्रशिक्षण/चाचणी विभाजनानंतर आणि केवळ प्रशिक्षणातून सर्व परिवर्तन शिकून वैशिष्ट्य गळती टाळण्याची क्षमता

मशीन लर्निंगमध्ये एक जुनी म्हण आहे: "अप्लाईड मशीन लर्निंग हे मूलत: वैशिष्ट्य अभियांत्रिकी आहे." कारण मॉडेलचे यश अनेकदा तुम्ही कोणते अल्गोरिदम निवडता त्याऐवजी तुम्ही मॉडेलला काय इनपुट देता त्यावरून येते. वैशिष्ट्य अभियांत्रिकी ही कच्च्या डेटामधून अर्थपूर्ण सिग्नल तयार करण्याची कला आहे ज्यातून मॉडेल शिकू शकते. या टप्प्यावर कृत्रिम बुद्धिमत्ता हा कल्पनांचा समृद्ध स्रोत आहे: जेव्हा तुम्ही "या डेटामधून कोणती वैशिष्ट्ये तयार केली जाऊ शकतात" असे विचारता, तेव्हा ते डझनभर सूचनांची सूची देते. परंतु यापैकी काही सूचना मौल्यवान असू शकतात, काही निरुपयोगी असू शकतात आणि काही धोकादायक (गळती) असू शकतात. ते सोडवणे तुमचे काम आहे.

अभियांत्रिकीचे वैशिष्ट्य का

कच्चा डेटा क्वचितच मॉडेलमध्ये त्याच्या उत्कृष्ट स्वरूपात येतो. एकटा "जन्मतारीख" स्तंभ निरर्थक असताना, त्यातून निर्माण होणारे "वय" मूल्य एक मजबूत संकेत आहे. तुम्ही "ऑर्डर टाइमस्टॅम्प" मधून "आठवड्याचा दिवस", "दिवस/रात्र", "सुट्टी आहे का" यासारखे गुणधर्म काढू शकता. तुम्ही गुणोत्तर ("कर्ज/उत्पन्न प्रमाण") तयार करण्यासाठी दोन स्तंभ एकत्र करू शकता. येथे, वैशिष्ट्य अभियांत्रिकी डोमेन ज्ञानाचे गणितीय सिग्नलमध्ये भाषांतर करत आहे; आणि म्हणूनच सर्वात जास्त मानवी बुद्धिमत्ता आवश्यक असलेला हा टप्पा आहे.

वर्गीय चलांचे संख्यांमध्ये रूपांतर करणे: कोडिंग

मॉडेल सामान्यत: मजकूर नव्हे तर संख्येसह कार्य करतात. वर्गीय चलांचे (जसे की शहर, रंग, उत्पादन प्रकार) संख्यांमध्ये रूपांतर करणे याला एन्कोडिंग म्हणतात. तीन सामान्य पद्धती:

एक-हॉट एन्कोडिंग: प्रत्येक श्रेणीसाठी 0/1 मूल्यासह एक स्वतंत्र स्तंभ उघडतो. "शहर" साठी, इस्तंबूल, अंकारा, इझमीर स्तंभ तयार केले जातात; जर ग्राहक इस्तंबूलचा असेल, तर फक्त तो स्तंभ 1 असेल. वर्गांची संख्या कमी असेल तेव्हा आदर्श; जर बर्याच श्रेणी असतील तर ते शेकडो स्तंभ तयार करतात (याला "आकार विस्फोट" म्हणतात).

लेबल एन्कोडिंग: प्रत्येक श्रेणीला एक संख्या देते (इस्तंबूल=0, अंकारा=1). हे सोपे आहे, परंतु ते चुकून मॉडेलला क्रम शिकवू शकते (जसे अंकारा > इस्तंबूल); त्यामुळे ते क्रमरहित श्रेणींमध्ये सावधगिरीने वापरले जाते.

लक्ष्य एन्कोडिंग: प्रत्येक श्रेणीला त्या श्रेणीतील लक्ष्य व्हेरिएबलच्या सरासरीने पुनर्स्थित करते. हे खूप शक्तिशाली आहे, परंतु गळतीचा सर्वात धोकादायक स्त्रोत आहे: आपण चाचणी डेटाचे लक्ष्य लक्षात घेतल्यास, मॉडेल भविष्य पाहतो. हे केवळ प्रशिक्षण डेटावरून आणि काळजीपूर्वक (क्रॉस-व्हॅलिडेशनमध्ये) मोजले जावे.

स्केलिंग: मोठ्या संख्येने मॉडेल दबून जात नाही

काही मॉडेल्स (अंतर-आधारित, रेखीय मॉडेल, न्यूरल नेटवर्क) व्हेरिएबल्सच्या प्रमाणात संवेदनशील असतात. जर "उत्पन्न" (0-500,000) आणि "वय" (0-100) एकाच पॅटर्नमध्ये येतात, तर उत्पन्न वरचढ होऊ शकते कारण ते मोठे आहे. स्केलिंग हे निराकरण करते. दोन सामान्य पद्धती: मानकीकरण (प्रत्येक मूल्य "किती मानक विचलन सरासरीपासून दूर" मध्ये रूपांतरित करते) आणि सामान्यीकरण (किमान-कमाल सामान्यीकरण — मूल्ये 0-1 श्रेणीमध्ये संकुचित करते). वृक्ष-आधारित मॉडेल (निर्णय वृक्ष, यादृच्छिक जंगल) स्केल असंवेदनशील आहेत, त्यांना स्केलिंगची आवश्यकता नाही.

खबरदारी: स्केलिंग आणि कोडिंग पॅरामीटर्स (मीन, मानक विचलन, श्रेणी-मीन मॅपिंग) फक्त प्रशिक्षण डेटावरून मोजले जावे, नंतर ते चाचणी डेटावर लागू केले जावे. चाचणी डेटाचा समावेश गळती आहे आणि तुमचे मॉडेल प्रत्यक्षात आहे त्यापेक्षा चांगले दिसते.

वैशिष्ट्य अभियांत्रिकीमधील गळतीचे हृदय

वैशिष्ट्य निर्मिती म्हणजे डेटा लीकेजचा उगम बहुतेकदा होतो. दोन विशिष्ट चुका: वेळ गळती — भविष्यातील माहितीचा समावेश असलेले वैशिष्ट्य तयार करणे (“शेवटच्या 30 दिवसांची सरासरी” मोजताना अंदाज दिवसानंतरच्या दिवसांसह). सांख्यिकी गळती — प्रशिक्षण/चाचणी विभाजनापूर्वी सर्व डेटामधून वैशिष्ट्य (स्केलिंग सरासरी, लक्ष्य एन्कोडिंग मूल्य) मोजणे. नियम: प्रथम ट्रेन/चाचणी विभाजन केल्यानंतर आणि फक्त प्रशिक्षण डेटावरून प्रत्येक परिवर्तन जाणून घ्या. हे नियमितपणे करण्याचा सर्वात सुरक्षित मार्ग म्हणजे पाइपलाइन वापरणे - एक अशी रचना जी सर्व परिवर्तने एकाच साखळीत एकत्रित करते आणि विभाजित केल्यानंतर त्यांना लागू करते.

पद्धत

कशासाठी

गळतीचा धोका

नोंद

एक-हॉट एन्कोडिंग

काही श्रेणींसह चल

कमी

एकाधिक श्रेणींमध्ये आकार विस्फोट

लेबल कोडिंग

वर्गवारी केलेली श्रेणी

कमी

आउट ऑफ ऑर्डर चुकीचा क्रम शिकवतो

लक्ष्य एन्कोडिंग

बहु-श्रेणी, मजबूत सिग्नल

खूप उच्च

फक्त शिक्षणातून, CV मध्ये

मानकीकरण

रेखीय/अंतर मॉडेल

मध्यम

पॅरामीटर केवळ शिक्षणावर अवलंबून आहे

वेळ विंडो वैशिष्ट्य

वेळ मालिका

उच्च

भविष्य जोडा

तीन लहान प्रकरणे

केस 1 - मौल्यवान मालमत्ता. एका क्रेडिट टीमने कच्च्या "मासिक उत्पन्न" आणि "मासिक कर्ज भरणा" स्तंभांमधून "कर्ज-ते-उत्पन्न प्रमाण" वैशिष्ट्य व्युत्पन्न केले. या सिंगल व्युत्पन्न वैशिष्ट्याने मॉडेलची अचूकता 71% वरून 79% पर्यंत वाढवली; कारण तो दर होता, परिपूर्ण उत्पन्न नाही, ज्यामुळे खरोखर जोखीम निश्चित होते. धडा: डोमेन ज्ञानाद्वारे व्युत्पन्न केलेले गुणोत्तर हे मजबूत संकेत आहेत.

केस 2 — लक्ष्य एन्कोडिंग लीक. एका कार्यसंघाने लक्ष्य एन्कोडिंग (त्या क्षेत्रातील सरासरी मंथन दर) सह "झिप कोड" एका संख्येत रूपांतरित केले, परंतु विभाजन करण्यापूर्वी सर्व डेटामधून असे केले. मॉडेलने चाचणी सेटवर 94% दिले, उत्पादनात 68% पर्यंत घसरले. 6 आठवडे मेहनत वाया गेली. धडा: लक्ष्य कोडिंग काळजीपूर्वक केले जाते, फक्त प्रशिक्षणात.

केस 3 - स्केलिंग विसरणे. एका विश्लेषकाने स्केलिंग न करता अंतर-आधारित मॉडेलमध्ये महसूल (0-400,000) आणि ग्राहक वय (18-75) दिले. वयाचा प्रभाव पाडून मॉडेल जवळजवळ केवळ उत्पन्नाकडे दिसले. जेव्हा स्केलिंग जोडले गेले, तेव्हा विभाजन अर्थपूर्ण झाले. धडा: अंतर/रेषीय मॉडेल्समध्ये स्केलिंगकडे दुर्लक्ष केले जात नाही.

चार कॉपी करण्यायोग्य टेम्पलेट्स

1) वैशिष्ट्य कल्पना निर्मिती (निर्मूलन आपल्यावर अवलंबून आहे):

तुमची भूमिका: वैशिष्ट्य अभियांत्रिकी सहाय्यक. माझे df स्तंभ: जन्म_तारीख, ऑर्डर_टाइम (टाइमस्टॅम्प), उत्पन्न_tl, ऋण_tl, शहर, उत्पादन_श्रेणी. लक्ष्य: "कर्जाची परतफेड केली जाईल" (0/1). या स्तंभांमधून निर्माण करता येणारी 15 वैशिष्ट्ये सुचवा; प्रत्येकासाठी गळतीचा धोका (कमी/मध्यम/उच्च) निर्दिष्ट करा. भविष्यातील माहिती असलेल्यांना स्पष्टपणे चिन्हांकित करा.

२) सुरक्षित कोडिंग (विभाजनानंतर):

एक-हॉट "शहर" आणि "उत्पादन_श्रेणी" एन्कोड करणारा कोड लिहा. महत्त्वाचे: एन्कोडिंग फक्त प्रशिक्षण डेटामध्ये बसवा, नंतर चाचणी डेटा (sklearn OneHotEncoder सह) बदला. शिक्षणात तुम्ही न पाहिलेली श्रेणी (हँडल_अज्ञात) कशी हाताळता ते स्पष्ट करा.

3) पाइपलाइनसह लीक-मुक्त रूपांतरण:

sklearn पाइपलाइन सेट करा: अंकीय स्तंभांवर StandardScaler, वर्गीकृत स्तंभांवर OneHotEncoder लागू करा, शेवटी एक वर्गीकरण जोडा. सर्व परिवर्तने ट्रेन/चाचणी विभाजनानंतर आणि फक्त प्रशिक्षणातूनच शिकायला मिळतील याची हमी द्या. कोड स्पष्ट करा आणि तो लीक मुक्त का आहे.

4) टाइम विंडो वैशिष्ट्य (गळती नियंत्रण):

प्रत्येक ग्राहकासाठी "गेल्या 30 दिवसांतील ऑर्डरची संख्या" विशेषता व्युत्पन्न करा, परंतु अंदाज दिवसानंतरचा डेटा कधीही समाविष्ट करू नका. कोड भविष्याकडे पाहत नाही हे ओळींद्वारे स्पष्ट करा. मी संदर्भ तारीख स्तंभ प्रदान करेन.

कमकुवत प्रॉम्प्ट / मजबूत प्रॉम्प्ट

कमकुवत प्रॉम्प्ट:

या डेटामध्ये चांगले गुणधर्म जोडा.

“चांगले” अपरिभाषित आहे, लक्ष्य अस्पष्ट आहे, गळती नियंत्रण नाही. AI यादृच्छिक, कदाचित गळती, वैशिष्ट्ये व्युत्पन्न करते.

शक्तिशाली सूचना:

तुमची भूमिका: वैशिष्ट्य अभियंता. लक्ष्य: "30 दिवसांत मंथन करा" (0/1), अंदाजे संदर्भ तारीख: save_date. df मध्ये व्यवहार इतिहास आहे. कार्य: 8 वैशिष्ट्ये व्युत्पन्न करा, प्रत्येकासाठी "अंदाजाच्या वेळी माझ्याकडे ही माहिती आहे का" या प्रश्नाचे उत्तर द्या. वेळ विंडो वैशिष्ट्यांमध्ये संदर्भ तारखेनंतरची तारीख जोडणे. ट्रेन/चाचणी विभागानंतर अंमलात आणण्यासाठी पाइपलाइन-सुसंगत पद्धतीने कोड लिहा.

येथे, लक्ष्य, संदर्भ वेळ आणि गळती नियंत्रण सुरुवातीपासून परिभाषित केले आहे.

सामान्य चुका

  • विभाजनापूर्वी सर्व डेटामधून परिवर्तन शिकणे. स्केलिंग/एनकोडिंग पॅरामीटरने चाचणी डेटा पाहिल्यास, गळती होते.
  • लक्ष्य कोडिंगचा निष्काळजी वापर. ही सर्वात शक्तिशाली परंतु सर्वात गळती पद्धत आहे; फक्त प्रशिक्षण पासून, क्रॉस प्रमाणीकरण मध्ये.
  • टाइम विंडो वैशिष्ट्यासह भविष्य जोडत आहे. अंदाज दिवसानंतर "शेवटच्या 30 दिवसांची" गणना प्रविष्ट केल्यास, मॉडेल भविष्य पाहते.
  • ट्री मॉडेलमध्ये अनावश्यक स्केलिंग आणि रेखीय मॉडेलमध्ये अपूर्ण स्केलिंग. मॉडेल प्रकारानुसार स्केलिंग निर्णय घेतले जातात.
  • AI ची प्रत्येक वैशिष्ट्य सूचना कोणत्याही प्रश्नाशिवाय जोडत आहे. सूचनांमध्ये निरुपयोगी आणि लीक वैशिष्ट्ये समाविष्ट असू शकतात.
टीप: तुम्ही व्युत्पन्न करत असलेल्या प्रत्येक वैशिष्ट्यासाठी एकच प्रश्न लिहा: "मी भविष्यवाणी करत असताना माझ्याकडे असलेल्या माहितीसह मी हे मूल्य मोजू शकतो का?" उत्तर स्पष्ट "होय" नसल्यास, वैशिष्ट्य वापरू नका. हे एकल शिस्त बहुतेक वैशिष्ट्य-संबंधित लीक काढून टाकते.

सारांशात

वैशिष्ट्य अभियांत्रिकी ही कच्च्या डेटामधून अर्थपूर्ण सिग्नल तयार करण्याची कला आहे आणि अनेकदा अल्गोरिदमपेक्षा मॉडेलचे यश निश्चित करते. एन्कोडिंग वर्गीकरण (एक-हॉट, लेबल, लक्ष्य), संख्यात्मक स्केलिंग (मानकीकरण, सामान्यीकरण) आणि डोमेन ज्ञानासह व्युत्पन्न वैशिष्ट्ये तयार करणे ही मूलभूत साधने आहेत. परंतु हा टप्पा देखील गळतीचा मुख्य भाग आहे: सर्व परिवर्तन प्रशिक्षण/चाचणी विभाजनानंतर आणि केवळ प्रशिक्षण डेटावरून शिकले पाहिजेत. AI भरपूर कल्पना निर्माण करते; हा मानवी निर्णय आहे जो मौल्यवान आणि धोकादायक वेगळे करतो.

अर्ज कार्य

लक्ष्य व्हेरिएबल निवडा आणि तुमच्याकडे असलेल्या स्तंभांमधून किमान पाच व्युत्पन्न वैशिष्ट्ये डिझाइन करा. त्यांच्यापैकी प्रत्येकासाठी, "मी भविष्यवाणीच्या वेळी उपलब्ध आहे का" या प्रश्नाचे उत्तर लिखित स्वरूपात द्या आणि किमान एकाला "गळतीचा उच्च धोका" म्हणून दूर करा. नंतर विभाजनानंतर अंमलात आणल्या जाणाऱ्या पाइपलाइनमधील सुरक्षित वैशिष्ट्ये कोड करा.

चेकलिस्ट

  • ट्रेन/चाचणी विभाजनानंतर मी सर्व परिवर्तने लागू केली आहेत का?
  • मी प्रशिक्षणातून फक्त स्केलिंग/एनकोडिंग पॅरामीटर्स शिकलो का?
  • [ ] मी प्रत्येक वैशिष्ट्यासाठी "माझ्याकडे ते भविष्यवाणीच्या वेळी आहे का" या प्रश्नाचे उत्तर दिले आहे का?
  • टार्गेट कोडिंगसारख्या उच्च-जोखीम पद्धतींबाबत मी अतिरिक्त काळजी घेतली आहे का?
  • [ ] मी मॉडेल प्रकार (वृक्ष/रेषीय) साठी योग्य प्रमाणात मोजण्याचे ठरवले आहे का?