फ़ीचर सिलेक्शन मौजूदा वेरिएबल्स को सबसे उपयोगी वेरिएबल्स तक सीमित कर देता है, जबकि फ़ीचर इंजीनियरिंग एक्सपेंशन रॉ डेटा से नए फ़ीचर्स बनाता है। दोनों ही मशीन लर्निंग मॉडल्स के परफ़ॉर्मेंस को तय करते हैं, लेकिन फ़ीचर पाइपलाइन पर वे अलग-अलग दिशाओं में काम करते हैं।
मुख्य बातें
फ़ीचर सिलेक्शन से फ़ीचर सेट छोटा हो जाता है; फ़ीचर इंजीनियरिंग एक्सपेंशन से यह बढ़ता है।
सिलेक्शन से आम तौर पर समझने की क्षमता बेहतर होती है, जबकि एक्सपेंशन से कभी-कभी यह कम हो सकती है।
एक्सपेंशन अक्सर सिलेक्शन के मुकाबले डोमेन नॉलेज पर ज़्यादा निर्भर करता है।
ज़्यादातर प्रोडक्शन पाइपलाइन दोनों को मिलाती हैं: पहले एक्सपैंड करें, फिर बेस्ट रिज़ल्ट चुनें।
सुविधा चयन क्या है?
मॉडल ट्रेनिंग के लिए मौजूदा डेटासेट से सिर्फ़ सबसे काम के इनपुट वेरिएबल को पहचानने और रखने का प्रोसेस।
फ़ीचर सिलेक्शन, डेटासेट से फालतू, बेमतलब, या शोर वाले वैरिएबल को हटाकर डाइमेंशनैलिटी को कम करता है।
आम तरीकों में म्यूचुअल इन्फॉर्मेशन जैसे फिल्टर तरीके, रिकर्सिव फीचर एलिमिनेशन जैसे रैपर तरीके, और लैस्सो रेगुलराइजेशन जैसी एम्बेडेड तकनीकें शामिल हैं।
यह डाइमेंशनैलिटी के अभिशाप से लड़ने में मदद करता है, जहाँ सैंपल के मुकाबले बहुत ज़्यादा फ़ीचर मॉडल की परफॉर्मेंस को खराब कर देते हैं।
चुने गए फ़ीचर्स आम तौर पर ओरिजिनल कॉलम का एक सबसेट होते हैं, जिसका मतलब है कि कोई नया वेरिएबल नहीं बनाया जाता है।
यह अक्सर सिर्फ़ उन वेरिएबल्स को सामने लाकर मॉडल की इंटरप्रिटेबिलिटी को बेहतर बनाता है जो प्रेडिक्टिव सिग्नल ले जाते हैं।
फ़ीचर इंजीनियरिंग विस्तार क्या है?
रॉ या मौजूदा डेटा से ट्रांसफॉर्मेशन, कॉम्बिनेशन या एक्सट्रैक्शन के ज़रिए नए इनपुट वेरिएबल बनाने का तरीका।
फ़ीचर इंजीनियरिंग एक्सपेंशन, मौजूदा डेटा से नए फ़ीचर निकालकर मॉडल के लिए उपलब्ध फ़ीचर की संख्या बढ़ाता है।
टेक्नीक में पॉलीनोमियल एक्सपेंशन, इंटरेक्शन टर्म्स, लॉग या स्क्वायर रूट ट्रांसफॉर्मेशन, और कैटेगरिकल वेरिएबल्स की वन-हॉट एन्कोडिंग शामिल हैं।
एम्बेडिंग-बेस्ड तरीके, जैसे वर्ड एम्बेडिंग या न्यूरल नेटवर्क से सीखे गए रिप्रेजेंटेशन, इस कैटेगरी में आते हैं।
डोमेन नॉलेज अक्सर नए फीचर्स बनाने में गाइड करती है, जैसे सेल्स फोरकास्टिंग के लिए टाइमस्टैम्प से हफ़्ते का दिन निकालना।
Featuretools जैसे ऑटोमेटेड फ़ीचर इंजीनियरिंग टूल्स रिलेशनल डेटासेट से सैकड़ों कैंडिडेट फ़ीचर बना सकते हैं।
तुलना तालिका
विशेषता
सुविधा चयन
फ़ीचर इंजीनियरिंग विस्तार
प्राथमिक दिशा
मौजूदा सुविधाओं को कम करता है
नई सुविधाएँ बनाता है या बढ़ाता है
विशिष्ट लक्ष्य
फोकस सुधारें और शोर कम करें
ज़्यादा प्रेडिक्टिव सिग्नल के साथ डेटा को बेहतर बनाएं
सामान्य तकनीकें
फ़िल्टर, रैपर और एम्बेडेड विधियाँ
ट्रांसफ़ॉर्मेशन, इंटरैक्शन, एम्बेडिंग, एन्कोडिंग
डेटासेट आकार पर प्रभाव
फ़ीचर संख्या कम करता है
फ़ीचर की संख्या बढ़ती है
पाइपलाइन में भूमिका
आमतौर पर फीचर इंजीनियरिंग के बाद लागू किया जाता है
आमतौर पर फ़ीचर चुनने से पहले लगाया जाता है
व्याख्या पर प्रभाव
आम तौर पर व्याख्या क्षमता बढ़ जाती है
ज़्यादा इस्तेमाल करने पर मतलब निकालना कम हो सकता है
ओवरफिटिंग का जोखिम
सही तरीके से करने पर कम करें
अगर बहुत ज़्यादा फ़ीचर जोड़े गए हैं तो ज़्यादा
डोमेन ज्ञान पर निर्भरता
मध्यम; स्टैटिस्टिकल क्राइटेरिया अक्सर काफी होते हैं
हाई; मीनिंगफुल फीचर्स के लिए अक्सर एक्सपर्टाइज़ की ज़रूरत होती है
विस्तृत तुलना
मूल दर्शन
फ़ीचर सिलेक्शन इस प्रिंसिपल पर काम करता है कि कम ही ज़्यादा है। ऐसे वेरिएबल को हटाकर जो कोई खास योगदान नहीं देते, मॉडल तेज़ी से ट्रेन होते हैं और अक्सर बेहतर तरीके से जनरलाइज़ होते हैं। फ़ीचर इंजीनियरिंग एक्सपेंशन इसका उल्टा रुख अपनाता है, यह मानते हुए कि अंदरूनी समस्या का बेहतर रिप्रेजेंटेशन उन पैटर्न को अनलॉक कर सकता है जिन्हें मॉडल नहीं तो मिस कर देता। असल में, ज़्यादातर सफल पाइपलाइन दोनों का इस्तेमाल करती हैं: पहले एक्सपैंड करें, फिर सिलेक्ट करें।
जब हर तरीका चमकता है
फ़ीचर सिलेक्शन तब सबसे ज़्यादा फ़ायदेमंद होता है जब डेटासेट बड़े होते हैं, मतलब उनमें रो के मुकाबले कई कॉलम होते हैं, या जब इंटरप्रिटेबिलिटी मायने रखती है, जैसे कि हेल्थकेयर या फ़ाइनेंस जैसी रेगुलेटेड इंडस्ट्रीज़ में। फ़ीचर इंजीनियरिंग एक्सपेंशन तब सबसे ज़्यादा फ़ायदेमंद होता है जब रॉ डेटा गड़बड़, स्पर्स, या ऐसे फ़ॉर्मैट में लॉक होता है जिसे मॉडल सीधे इस्तेमाल नहीं कर सकते, जैसे टाइमस्टैम्प, टेक्स्ट, या कैटेगरी लेबल। एक अच्छी तरह से बनाया गया इंजीनियर्ड फ़ीचर कभी-कभी दर्जनों रॉ फ़ीचर से बेहतर परफ़ॉर्म कर सकता है।
कम्प्यूटेशनल ट्रेड-ऑफ़
रिकर्सिव फ़ीचर एलिमिनेशन या लैस्सो-बेस्ड फ़िल्टरिंग जैसे सिलेक्शन मेथड थोड़ा कम्प्यूटेशनल ओवरहेड जोड़ते हैं और असल में इनपुट स्पेस को छोटा करके बाद में ट्रेनिंग टाइम को कम कर सकते हैं। एक्सपेंशन मेथड, खासकर पॉलीनोमियल फ़ीचर या ऑटोमेटेड फ़ीचर जेनरेशन, फ़ीचर काउंट को बहुत ज़्यादा बढ़ा सकते हैं। 50 कॉलम वाला एक डेटासेट जिसे डिग्री-3 पॉलीनोमियल टर्म तक एक्सपैंड किया गया हो, आसानी से हज़ारों फ़ीचर बना सकता है, जिसके लिए ज़्यादा मेमोरी और लंबे ट्रेनिंग साइकिल की ज़रूरत होती है।
आधुनिक मॉडलों के साथ सहभागिता
XGBoost और LightGBM जैसे ट्री-बेस्ड मॉडल बेकार फीचर्स को अच्छे से हैंडल करते हैं, जिससे एग्रेसिव सिलेक्शन की ज़रूरत कम हो जाती है। दूसरी ओर, डीप लर्निंग मॉडल को अक्सर फीचर इंजीनियरिंग से बहुत फ़ायदा होता है क्योंकि वे रिप्रेजेंटेशन सीखते हैं लेकिन फिर भी जानकारी वाले इनपुट पर निर्भर रहते हैं। न्यूरल नेटवर्क एम्बेडिंग लेयर्स के ज़रिए इम्प्लिसिट फीचर इंजीनियरिंग भी कर सकते हैं, जिससे दोनों तरीकों के बीच की लाइन धुंधली हो जाती है।
जोखिम प्रबंधन
बहुत ज़्यादा एग्रेसिव सिलेक्शन से उन फीचर्स को हटाने का रिस्क होता है जो अकेले में कमज़ोर लगते हैं लेकिन दूसरों के साथ मिलकर काम करते हैं। ज़्यादा एक्सपेंशन से उल्टा खतरा होता है: नॉइज़ी या कोरिलेटेड फीचर्स की बाढ़ जो मॉडल को कन्फ्यूज़ करती है और वैरिएंस को बढ़ाती है। क्रॉस-वैलिडेशन दोनों के लिए स्टैंडर्ड सेफ़गार्ड है, जो प्रैक्टिशनर्स को यह मापने में मदद करता है कि जोड़े गए या हटाए गए फीचर्स सच में आउट-ऑफ़-सैंपल परफ़ॉर्मेंस को बेहतर बनाते हैं या नहीं।
लाभ और हानि
सुविधा चयन
लाभ
+ओवरफिटिंग जोखिम को कम करता है
+प्रशिक्षण को गति देता है
+व्याख्या में सुधार
+मेमोरी उपयोग कम करता है
सहमत
−उपयोगी संकेतों को छोड़ सकता है
−रैपर मेथड धीमे हैं
−चयन पूर्वाग्रह का जोखिम
−पेड़ के मॉडल पर कम असर
फ़ीचर इंजीनियरिंग विस्तार
लाभ
+छिपे हुए पैटर्न अनलॉक करता है
+मॉडल सटीकता बढ़ाता है
+बेहतर प्रतिनिधित्व को सक्षम बनाता है
+मॉडल के लिए कच्चे डेटा को अनुकूलित करता है
सहमत
−कम्प्यूटेशनल लागत बढ़ जाती है
−फ़ीचर विस्फोट का जोखिम
−डोमेन विशेषज्ञता की आवश्यकता है
−व्याख्या को नुकसान पहुंचा सकता है
सामान्य भ्रांतियाँ
मिथ
फ़ीचर सिलेक्शन और फ़ीचर इंजीनियरिंग एक ही चीज़ हैं।
वास्तविकता
वे एक-दूसरे को पूरा करने वाले लेकिन अलग हैं। फ़ीचर इंजीनियरिंग रॉ डेटा से नए वेरिएबल बनाती है, जबकि फ़ीचर सिलेक्शन चुनता है कि कौन से वेरिएबल रखने हैं। एक फ़ीचर स्पेस को बढ़ाता है, दूसरा उसे सिकोड़ता है।
मिथ
ज़्यादा फ़ीचर्स हमेशा बेहतर मॉडल बनाते हैं।
वास्तविकता
बिना किसी वजह के फ़ीचर जोड़ने से अक्सर नॉइज़, मल्टीकोलिनियरिटी और ओवरफ़िटिंग होती है। डाइमेंशनैलिटी के श्राप का मतलब है कि सिग्नल में बिना किसी फ़ायदे के फ़ीचर की संख्या बढ़ने पर मॉडल असल में और भी खराब परफ़ॉर्म कर सकते हैं।
मिथ
फ़ीचर सिलेक्शन सिर्फ़ छोटे डेटासेट के लिए उपयोगी है।
वास्तविकता
फ़ीचर सिलेक्शन किसी भी स्केल पर मदद करता है। लाखों रो के साथ भी, बेकार या फालतू फ़ीचर हटाने से ट्रेनिंग का समय कम होता है, स्टोरेज कॉस्ट कम होती है, और अक्सर जनरलाइज़ेशन बेहतर होता है।
मिथ
डीप लर्निंग फीचर इंजीनियरिंग की ज़रूरत को खत्म कर देता है।
वास्तविकता
डीप लर्निंग कुछ रिप्रेजेंटेशन लर्निंग को ऑटोमेट करती है, लेकिन अच्छी तरह से इंजीनियर किए गए फीचर्स अभी भी परफॉर्मेंस को बेहतर बनाते हैं, डेटा की ज़रूरतों को कम करते हैं, और ज़्यादातर प्रैक्टिकल एप्लिकेशन्स में कन्वर्जेंस को तेज़ करते हैं।
मिथ
ऑटोमेटेड फ़ीचर सिलेक्शन टूल हमेशा सबसे अच्छे फ़ीचर चुनते हैं।
वास्तविकता
ऑटोमेटेड तरीके स्टैटिस्टिकल क्राइटेरिया पर निर्भर करते हैं जो हमेशा बिज़नेस के लक्ष्यों या कॉज़ल रिलेशनशिप से मेल नहीं खाते। इंसानी फ़ैसला ज़रूरी रहता है, खासकर तब जब फ़ीचर्स का डोमेन मतलब होता है।
अक्सर पूछे जाने वाले सवाल
फीचर सिलेक्शन और फीचर इंजीनियरिंग में क्या अंतर है?
फ़ीचर इंजीनियरिंग ट्रांसफ़ॉर्मेशन, कॉम्बिनेशन या एन्कोडिंग के ज़रिए रॉ डेटा से नए वेरिएबल बनाती है। फ़ीचर सिलेक्शन फिर उन वेरिएबल को, ओरिजिनल के साथ, फ़िल्टर करता है ताकि सिर्फ़ सबसे काम के वेरिएबल ही रहें। वे फ़ीचर पाइपलाइन के अलग-अलग सिरों पर काम करते हैं।
क्या मुझे फीचर सिलेक्शन फीचर इंजीनियरिंग से पहले करना चाहिए या बाद में?
फ़ीचर इंजीनियरिंग आमतौर पर पहले आती है क्योंकि यह कैंडिडेट फ़ीचर बनाती है, और उसके बाद उन्हें छाँटने के लिए सिलेक्शन होता है। पहले सिलेक्शन करने से आप उन रॉ वेरिएबल्स को हटा सकते हैं जो बदलने के बाद काम के होते।
कौन सा फ़ीचर चुनने का तरीका सबसे अच्छा काम करता है?
कोई एक सबसे अच्छा तरीका नहीं है। म्यूचुअल इन्फॉर्मेशन जैसे फ़िल्टर तरीके तेज़ और मॉडल-एग्नोस्टिक होते हैं। रिकर्सिव फ़ीचर एलिमिनेशन जैसे रैपर तरीके ज़्यादा सटीक होते हैं लेकिन धीमे होते हैं। लैस्सो जैसे एम्बेडेड तरीके स्पीड और सटीकता को मिलाते हैं। सही चुनाव डेटासेट के साइज़ और आपके इस्तेमाल किए जा रहे मॉडल पर निर्भर करता है।
क्या फीचर इंजीनियरिंग मॉडल की सटीकता में काफी सुधार कर सकती है?
हाँ, कभी-कभी बहुत ज़्यादा। एक अच्छा डिज़ाइन किया गया फ़ीचर, जैसे ट्रैफ़िक प्रेडिक्शन के लिए टाइमस्टैम्प से दिन का घंटा निकालना, एल्गोरिदम बदलने या हाइपरपैरामीटर को ट्यून करने से ज़्यादा मॉडल की एक्यूरेसी बढ़ा सकता है।
क्या फ़ीचर सिलेक्शन ओवरफ़िटिंग को कम करता है?
अक्सर ऐसा होता है। नॉइज़ी या फालतू वेरिएबल्स को हटाकर, फ़ीचर सिलेक्शन इस बात का चांस कम कर देता है कि कोई मॉडल ट्रेनिंग डेटा में ऐसे पैटर्न याद रखे जो जनरलाइज़ नहीं होते। यह तब खास तौर पर काम का होता है जब आपके पास सैंपल्स के मुकाबले कई फ़ीचर्स हों।
कॉमन फ़ीचर इंजीनियरिंग तकनीकें क्या हैं?
पॉपुलर टेक्नीक में कैटेगरिकल वेरिएबल्स के लिए वन-हॉट एन्कोडिंग, स्क्यूड डिस्ट्रीब्यूशन के लिए लॉग या स्क्वायर रूट ट्रांसफॉर्मेशन, वेरिएबल्स के बीच इंटरैक्शन टर्म्स, डेट-टाइम फीचर एक्सट्रैक्शन, TF-IDF जैसे टेक्स्ट वेक्टराइजेशन मेथड, और न्यूरल नेटवर्क से सीखी गई एम्बेडिंग शामिल हैं।
क्या ऑटोमेटेड फ़ीचर इंजीनियरिंग भरोसेमंद है?
Featuretools और AutoFE जैसे टूल्स बहुत सारे कैंडिडेट फीचर्स जल्दी से बना सकते हैं, लेकिन नतीजों को फिर भी इंसानी रिव्यू की ज़रूरत होती है। कई बनाए गए फीचर्स फालतू या बेमतलब होते हैं, इसलिए आमतौर पर बाद में सिलेक्शन की ज़रूरत होती है।
फ़ीचर सिलेक्शन इंटरप्रिटेबिलिटी में कैसे मदद करता है?
कम फ़ीचर्स का मतलब है आसान मॉडल जिन्हें समझाना आसान होता है। बैंकिंग या हेल्थकेयर जैसी रेगुलेटेड इंडस्ट्रीज़ में, काम के वेरिएबल्स के एक छोटे सेट की ओर इशारा कर पाना अक्सर एक कानूनी या ऑपरेशनल ज़रूरत होती है।
क्या फीचर इंजीनियरिंग फीचर सिलेक्शन की जगह ले सकती है?
नहीं, बिल्कुल नहीं। नए अच्छे फीचर्स बनाने के बाद भी, आपके पास शायद फालतू या कम वैल्यू वाले फीचर्स होंगे। सिलेक्शन यह पक्का करता है कि फाइनल मॉडल सिर्फ उन्हीं फीचर्स का इस्तेमाल करे जो सच में मदद करते हैं, जिससे ट्रेनिंग अच्छी रहे और प्रेडिक्शन स्टेबल रहें।
क्या ट्री-बेस्ड मॉडल्स को फीचर सिलेक्शन की ज़रूरत होती है?
रैंडम फ़ॉरेस्ट और ग्रेडिएंट बूस्टिंग जैसे ट्री-बेस्ड मॉडल, लीनियर मॉडल की तुलना में गैर-ज़रूरी फ़ीचर्स के प्रति ज़्यादा टॉलरेंट होते हैं, लेकिन फिर भी उन्हें सिलेक्शन से फ़ायदा होता है। बेकार वेरिएबल हटाने से ट्रेनिंग तेज़ हो जाती है और छोटे डेटासेट पर परफ़ॉर्मेंस बेहतर हो सकती है।
निर्णय
जब आपके डेटासेट में पहले से ही कई वेरिएबल हों और आपको एक लीनियर, ज़्यादा समझने लायक मॉडल चाहिए, तो फ़ीचर सिलेक्शन चुनें। जब रॉ डेटा में स्ट्रक्चर या प्रेडिक्टिव पावर की कमी हो और आपके पास काम के नए वेरिएबल बनाने के लिए डोमेन एक्सपर्टीज़ हो, तो फ़ीचर इंजीनियरिंग एक्सपेंशन चुनें। ज़्यादातर रियल-वर्ल्ड प्रोजेक्ट्स में, सबसे अच्छे रिज़ल्ट दोनों को मिलाने से आते हैं: सोच-समझकर एक्सपैंड करें, फिर ध्यान से चुनें।