फ़ीचर इंजीनियरिंग

फ़ीचर इंजीनियरिंग या फ़ीचर निष्कर्षण या फ़ीचर खोज अनिर्मित डेटा से फ़ीचर (मशीन लर्निंग) (विशेषताएँ, गुण, विशेषताएँ) निकालने के लिए डोमेन ज्ञान का उपयोग करने की प्रक्रिया है। मशीन सीखने की प्रक्रिया में केवल अनिर्मित डेटा की आपूर्ति की तुलना में, मशीन सीखने की प्रक्रिया से परिणामों की गुणवत्ता में सुधार करने के लिए इन अतिरिक्त सुविधाओं का उपयोग करना प्रेरणा है।

प्रक्रिया
फ़ीचर इंजीनियरिंग प्रक्रिया है:
 * बुद्धिशीलता या सॉफ्टवेयर परीक्षण सुविधाएँ
 * निर्णय लेना कि कौन सी सुविधाएँ बनानी हैं
 * सुविधाएँ बनाना
 * कार्य पर पहचानी गई सुविधाओं के प्रभाव का परीक्षण करना
 * यदि आवश्यक हो तो अपनी सुविधाओं में सुधार करें
 * पुनरावृत्ति

विशिष्ट इंजीनियर्ड विशेषताएं
निम्नलिखित सूची उपयोगी सुविधाओं को इंजीनियर करने के लिए कुछ विशिष्ट विधि प्रदान करता है:
 * संख्यात्मक परिवर्तन (जैसे भिन्न लेना या स्केलिंग)
 * श्रेणी एनकोडर जैसे वन-हॉट या लक्ष्य एनकोडर (श्रेणीबद्ध चर के लिए)
 * क्लस्टरिंग
 * समूहित मान
 * प्रमुख घटक विश्लेषण (संख्यात्मक डेटा के लिए)
 * फ़ीचर निर्माण: समस्या के लिए प्रासंगिक नए भौतिक, ज्ञान-आधारित मापदंडों का निर्माण। उदाहरण के लिए, भौतिकी में, आयामहीन मात्रा का निर्माण जैसे द्रव गतिकी में रेनॉल्ड्स संख्या, गर्मी हस्तांतरण में नुसेल्ट संख्या, अवसादन में आर्किमिडीज संख्या, समाधान के पहले अनुमान का निर्माण जैसे यांत्रिकी में सामग्री समाधान की विश्लेषणात्मक शक्ति आदि।

प्रासंगिकता
विशेषताओं का महत्व भिन्न-भिन्न होता है। यहां तक कि अपेक्षाकृत महत्वहीन विशेषताएं भी किसी मॉडल में योगदान दे सकती हैं। फ़ीचर चयन किसी मॉडल को प्रशिक्षण डेटा सेट (ओवरफ़िटिंग) के लिए बहुत विशिष्ट बनने से रोकने के लिए सुविधाओं की संख्या को कम कर सकता है।

विस्फोट
फ़ीचर विस्फोट तब होता है जब पहचाने गए फ़ीचर की संख्या अनुचित रूप से बढ़ती है। सामान्य कारणों में सम्मिलित हैं:


 * फ़ीचर टेम्प्लेट - नई सुविधाओं को कोड करने के अतिरिक्त फ़ीचर टेम्प्लेट लागू करना होता हैं
 * फ़ीचर संयोजन - ऐसे संयोजन जिन्हें रैखिक प्रणाली द्वारा प्रस्तुत नहीं किया जा सकता है

फ़ीचर विस्फोट को विधियों के माध्यम से सीमित किया जा सकता है जैसे: नियमितीकरण (गणित), कर्नेल विधियाँ, और फ़ीचर चयन।

स्वचालन
फीचर इंजीनियरिंग का स्वचालन शोध विषय है जो 1990 के दशक का है। स्वचालित फीचर इंजीनियरिंग को सम्मिलित करने वाला मशीन लर्निंग सॉफ्टवेयर 2016 से व्यावसायिक रूप से उपलब्ध है। संबंधित अकादमिक साहित्य को सामान्यतः दो प्रकारों में विभाजित किया जा सकता है:


 * मल्टी-रिलेशनल डिसीजन ट्री  लर्निंग (एमआरडीटीएल) पर्यवेक्षित एल्गोरिदम का उपयोग करता है जो डिसीजन ट्री के समान है।
 * डीप फ़ीचर सिंथेसिस सरल विधियों का उपयोग करता है।

मल्टी-रिलेशनल डिसीजन ट्री लर्निंग (एमआरडीटीएल)
एमआरडीटीएल प्रश्नों में क्रमिक रूप से क्लॉज जोड़कर एसक्यूएल प्रश्नों के रूप में सुविधाएँ उत्पन्न करता है। उदाहरण के लिए, एल्गोरिथम की प्रारंभ हो सकती है

फिर क्वेरी को शर्तों को जोड़कर क्रमिक रूप से परिष्कृत किया जा सकता है, जैसे "WHERE t1.charge <= -0.392"।

चूँकि, अधिकांश एमआरडीटीएल संबंधपरक डेटाबेस पर आधार कार्यान्वयन का अध्ययन करता है, जिसके परिणामस्वरूप कई अनावश्यक संचालन होते हैं। टपल आईडी प्रसार जैसी विधियों का उपयोग करके इन अतिरेक को कम किया जा सकता है। वृद्धिशील अद्यतनों का उपयोग करके दक्षता बढ़ाई जा सकती है, जो अतिरेक को समाप्त करती है।

ओपन-सोर्स कार्यान्वयन
ऐसे कई ओपन-सोर्स लाइब्रेरी और उपकरण हैं जो संबंधपरक डेटा और समय श्रृंखला पर फीचर इंजीनियरिंग को स्वचालित करते हैं:


 * फीचरटूल्स मशीन लर्निंग के लिए समय श्रृंखला और संबंधपरक डेटा को फीचर मैट्रिक्स में बदलने के लिए पायथन (प्रोग्रामिंग भाषा) लाइब्रेरी है।
 * वनबीएम या वन-बटन मशीन फीचर चयन विधियों के साथ रिलेशनल डेटा पर फीचर ट्रांसफॉर्मेशन और फीचर चयन को जोड़ती है।
 * गेटएमएल समुदाय समय श्रृंखला और संबंधपरक डेटा पर स्वचालित फीचर इंजीनियरिंग के लिए खुला स्रोत उपकरण है। इसे पायथन इंटरफ़ेस के साथ C (प्रोग्रामिंग भाषा)/C++ में कार्यान्वित किया गया है। इसे टीएसफ्लेक्स, टीएसफ्रेश, टीएसफेल, फीचरटूल्स या कैट्स से कम से कम 60 गुना तेज़ दिखाया गया है।
 * टीएसफ्रेश समय श्रृंखला डेटा पर सुविधा निष्कर्षण के लिए पायथन लाइब्रेरी है। यह परिकल्पना परीक्षण का उपयोग करके सुविधाओं की गुणवत्ता का मूल्यांकन करता है।
 * टीएसफ्लेक्स समय श्रृंखला डेटा से सुविधाएँ निकालने के लिए खुला स्रोत पायथन लाइब्रेरी है। 100% पायथन में लिखे जाने के बावजूद, इसे टीएसफ्रेश, सेग्लर्न या टीएसफेल की तुलना में तेज़ और अधिक मेमोरी कुशल दिखाया गया है।
 * सेग्लर्न, स्किकिट-लर्न पायथन लाइब्रेरी के लिए बहुभिन्नरूपी, अनुक्रमिक समय श्रृंखला डेटा का विस्तार है।
 * टीएसफेल समय श्रृंखला डेटा पर सुविधा निष्कर्षण के लिए पायथन पैकेज है।
 * कैट्स समय श्रृंखला डेटा का विश्लेषण करने के लिए पायथन टूलकिट है।

गहन सुविधा संश्लेषण
डीप फ़ीचर सिंथेसिस (डीएफएस) एल्गोरिदम ने प्रतियोगिता में 906 मानव टीमों में से 615 को हराया था।

फ़ीचर स्टोर
फ़ीचर स्टोर वह स्थान है जहां सुविधाओं को मॉडल को प्रशिक्षित करने (डेटा वैज्ञानिकों द्वारा) या पूर्वानुमान बनाने (प्रशिक्षित मॉडल वाले अनुप्रयोगों द्वारा) के स्पष्ट उद्देश्य के लिए संग्रहीत और व्यवस्थित किया जाता है। यह केंद्रीय स्थान है जहां आप या तो कई अलग-अलग डेटा स्रोतों से बनाई गई सुविधाओं के समूह बना या अपडेट कर सकते हैं, या प्रशिक्षण मॉडल के लिए या उन अनुप्रयोगों में उपयोग के लिए उन फीचर समूहों से नए डेटासेट बना और अपडेट कर सकते हैं जो सुविधाओं की गणना नहीं करना चाहते हैं किन्तु बस जब उन्हें पूर्वानुमान लगाने की आवश्यकता हो तो उन्हें पुनः प्राप्त करें।

फ़ीचर स्टोर में फ़ीचर उत्पन्न करने के लिए उपयोग किए जाने वाले कोड को संग्रहीत करने, अनिर्मित डेटा पर कोड लागू करने और अनुरोध पर उन सुविधाओं को मॉडलों को प्रदान करने की क्षमता सम्मिलित होती है। उपयोगी क्षमताओं में फीचर संस्करण और उन परिस्थितियों को नियंत्रित करने वाली नीतियां सम्मिलित हैं जिनके अनुसार सुविधाओं का उपयोग किया जा सकता है।

फ़ीचर स्टोर स्टैंडअलोन सॉफ़्टवेयर टूल या मशीन लर्निंग प्लेटफ़ॉर्म में निर्मित हो सकते हैं।

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

यह भी देखें

 * सहसंयोजक
 * डेटा परिवर्तन (सांख्यिकी)
 * सुविधा निकालना
 * फ़ीचर सीखना
 * हैशिंग ट्रिक
 * कर्नेल विधि
 * मशीन लर्निंग अनुसंधान के लिए डेटासेट की सूची
 * अंतरिक्ष मानचित्रण
 * वाद्य चर अनुमान