कोर्स
आजकल कई उद्योग अलग-अलग प्रकार के बहुत बड़े डेटा सेट्स से जूझ रहे हैं। उस सारी जानकारी को मैन्युअल रूप से प्रोसेस करना समय-साध्य हो सकता है और लंबे समय में उपयोगी भी न रहे। बेहतर रिटर्न ऑन इन्वेस्टमेंट के लिए साधारण ऑटोमेशन से लेकर मशीन लर्निंग तकनीकों तक, कई रणनीतियाँ अपनाई जा रही हैं। यह वैचारिक ब्लॉग मशीन लर्निंग के एक सबसे महत्वपूर्ण सिद्धांत—क्लासिफ़िकेशन—पर केंद्रित है।
हम मशीन लर्निंग में क्लासिफ़िकेशन की परिभाषा से शुरू करेंगे, फिर मशीन लर्निंग में दो प्रकार के लर्नर्स और क्लासिफ़िकेशन तथा रिग्रेशन के बीच का फर्क स्पष्ट करेंगे। इसके बाद, हम कुछ वास्तविक जीवन परिदृश्यों को कवर करेंगे जहाँ क्लासिफ़िकेशन उपयोगी है। फिर हम क्लासिफ़िकेशन के विभिन्न प्रकारों का परिचय देंगे और क्लासिफ़िकेशन एल्गोरिदम के कुछ उदाहरणों में गहराई से जाएँगे। अंत में, हम कुछ एल्गोरिदम के इम्प्लिमेंटेशन पर हैंड्स-ऑन अभ्यास प्रदान करेंगे।
मशीन लर्निंग में क्लासिफ़िकेशन क्या है?
क्लासिफ़िकेशन एक सुपरवाइज़्ड मशीन लर्निंग विधि है जहाँ मॉडल दिए गए इनपुट डेटा का सही लेबल भविष्यवाणी करने की कोशिश करता है। क्लासिफ़िकेशन में, मॉडल को ट्रेनिंग डेटा से पूरी तरह प्रशिक्षित किया जाता है, और फिर नए, अनदेखे डेटा पर भविष्यवाणी करने से पहले टेस्ट डेटा पर उसका मूल्यांकन किया जाता है।
उदाहरण के लिए, कोई एल्गोरिदम यह सीख सकता है कि दिया गया ईमेल स्पैम है या हैम (स्पैम नहीं), जैसा कि नीचे दर्शाया गया है।
क्लासिफ़िकेशन की अवधारणा में जाने से पहले, हम क्लासिफ़िकेशन में लर्नर्स के दो प्रकार—लेज़ी और ईगर लर्नर्स—का अंतर समझेंगे। फिर हम क्लासिफ़िकेशन और रिग्रेशन के बीच की भ्रांति दूर करेंगे।
लेज़ी लर्नर्स बनाम ईगर लर्नर्स
मशीन लर्निंग क्लासिफ़िकेशन में लर्नर्स के दो प्रकार होते हैं: लेज़ी और ईगर लर्नर्स।
ईगर लर्नर्स वे मशीन लर्निंग एल्गोरिदम हैं जो भविष्य के डेटासेट्स पर कोई भी भविष्यवाणी करने से पहले ट्रेनिंग डेटासेट से एक मॉडल बनाते हैं। वे ट्रेनिंग प्रक्रिया में अधिक समय लगाते हैं क्योंकि वे वेट्स सीखकर बेहतर जनरलाइज़ेशन चाहते हैं, लेकिन वे भविष्यवाणी करने में कम समय लेते हैं।
अधिकांश मशीन लर्निंग एल्गोरिदम ईगर लर्नर्स होते हैं, जैसे:
- लॉजिस्टिक रिग्रेशन.
- सपोर्ट वेक्टर मशीन.
- डिसीज़न ट्रीज़.
- आर्टिफ़िशियल न्यूरल नेटवर्क्स.
लेज़ी लर्नर्स या इंस्टेंस-आधारित लर्नर्स दूसरी ओर, ट्रेनिंग डेटा से तुरंत कोई मॉडल नहीं बनाते—यही उनका लेज़ी पहलू है। वे ट्रेनिंग डेटा को याद रखते हैं और हर बार भविष्यवाणी की आवश्यकता होने पर पूरे ट्रेनिंग डेटा में से निकटतम नेबर खोजते हैं, जिससे भविष्यवाणी के समय वे काफ़ी धीमे हो जाते हैं। इनके कुछ उदाहरण हैं:
- K-नियरेस्ट नेबर.
- केस-आधारित रीजनिंग.
हालाँकि, BallTrees और KDTrees जैसे कुछ एल्गोरिदम भविष्यवाणी लेटेंसी को बेहतर बनाने के लिए उपयोग किए जा सकते हैं।
मशीन लर्निंग क्लासिफ़िकेशन बनाम रिग्रेशन
मशीन लर्निंग एल्गोरिदम की चार मुख्य श्रेणियाँ हैं: सुपरवाइज़्ड, अनसुपरवाइज़्ड, सेमी-सुपरवाइज़्ड, और रिइनफोर्समेंट लर्निंग।
यद्यपि क्लासिफ़िकेशन और रिग्रेशन दोनों सुपरवाइज़्ड लर्निंग की श्रेणी में आते हैं, लेकिन वे एक जैसे नहीं हैं।
- जब टार्गेट वैरिएबल डिस्क्रीट हो, तो प्रिडिक्शन टास्क क्लासिफ़िकेशन होता है। उदाहरण के लिए, किसी पाठ में निहित भावना की पहचान करना।
- जब टार्गेट वैरिएबल सतत (कंटीन्युअस) हो, तो प्रिडिक्शन टास्क रिग्रेशन होता है। उदाहरण के लिए, किसी व्यक्ति की शिक्षा, पूर्व कार्य अनुभव, भौगोलिक स्थान, और वरिष्ठता स्तर के आधार पर वेतन का अनुमान।
यदि आप क्लासिफ़िकेशन के बारे में और जानना चाहते हैं, तो scikit-learn के साथ सुपरवाइज़्ड लर्निंग और R में सुपरवाइज़्ड लर्निंग पर कोर्स सहायक हो सकते हैं। ये आपको बताते हैं कि प्रत्येक एल्गोरिदम टास्क को कैसे एप्रोच करता है और उन्हें लागू करने के लिए किन Python और R फ़ंक्शनों की आवश्यकता होती है।
रिग्रेशन के संदर्भ में, Introduction to Regression in R और Introduction to Regression with statsmodels in Python आपको विभिन्न प्रकार के रिग्रेशन मॉडलों और उनके R तथा Python में इम्प्लिमेंटेशन का अन्वेषण करने में मदद करेंगे।
वास्तविक जीवन में मशीन लर्निंग क्लासिफ़िकेशन के उदाहरण
सुपरवाइज़्ड मशीन लर्निंग क्लासिफ़िकेशन का हमारे रोज़मर्रा के कई क्षेत्रों में उपयोग होता है। नीचे कुछ उदाहरण दिए गए हैं।
हेल्थकेयर
ऐतिहासिक रोगी डेटा पर मशीन लर्निंग मॉडल को प्रशिक्षित करना स्वास्थ्य विशेषज्ञों को अपनी डायग्नोसिस का अधिक सटीक विश्लेषण करने में मदद कर सकता है:
- COVID-19 महामारी के दौरान, यह कुशलतापूर्वक भविष्यवाणी करने के लिए मॉडल लागू किए गए कि किसी व्यक्ति को COVID-19 है या नहीं।
- शोधकर्ता भविष्य में उभरने की अधिक संभावना वाली नई बीमारियों की भविष्यवाणी के लिए भी मशीन लर्निंग मॉडल का उपयोग कर सकते हैं।
शिक्षा
शिक्षा उन क्षेत्रों में से एक है जहाँ सर्वाधिक पाठ्य, वीडियो और ऑडियो डेटा होता है। इस असंरचित जानकारी का विश्लेषण नैचुरल लैंग्वेज तकनीकों की मदद से निम्न कार्यों के लिए किया जा सकता है:
- दस्तावेज़ों का श्रेणीवार क्लासिफ़िकेशन।
- आवेदन के दौरान छात्रों के दस्तावेज़ों की अंतर्निहित भाषा की स्वत: पहचान।
- किसी प्रोफ़ेसर के बारे में छात्रों की प्रतिक्रिया की भावना का विश्लेषण।
परिवहन
परिवहन कई देशों के आर्थिक विकास का प्रमुख घटक है। परिणामस्वरूप, उद्योग मशीन और डीप लर्निंग मॉडल्स का उपयोग कर रहे हैं:
- यह भविष्यवाणी करने के लिए कि किस भौगोलिक स्थान पर ट्रैफ़िक वॉल्यूम में वृद्धि होगी।
- मौसम की स्थिति के कारण विशिष्ट स्थानों पर संभावित समस्याओं की भविष्यवाणी।
सतत कृषि
कृषि मानव अस्तित्व के सबसे मूल्यवान स्तंभों में से एक है। स्थिरता को अपनाने से किसानों की उत्पादकता को विभिन्न स्तरों पर बिना पर्यावरण को नुकसान पहुँचाए बढ़ाया जा सकता है:
- यह भविष्यवाणी करने के लिए क्लासिफ़िकेशन मॉडल्स का उपयोग करके कि किस प्रकार की भूमि किसी विशिष्ट प्रकार के बीज के लिए उपयुक्त है।
- मौसम की भविष्यवाणी कर ताकि वे उचित निवारक उपाय कर सकें।
मशीन लर्निंग में क्लासिफ़िकेशन टास्क के विभिन्न प्रकार
मशीन लर्निंग में चार मुख्य क्लासिफ़िकेशन टास्क होते हैं: बाइनरी, मल्टी-क्लास, मल्टी-लेबल, और इम्बैलेंस्ड क्लासिफ़िकेशन।
बाइनरी क्लासिफ़िकेशन
बाइनरी क्लासिफ़िकेशन टास्क में लक्ष्य इनपुट डेटा को दो परस्पर अनन्य श्रेणियों में वर्गीकृत करना होता है। ऐसी स्थिति में ट्रेनिंग डेटा बाइनरी फ़ॉर्मेट में लेबल किया जाता है: true/false; positive/negative; 0/1; स्पैम/नॉट स्पैम, आदि—समस्या पर निर्भर करता है। उदाहरण के लिए, हम यह पता लगाना चाह सकते हैं कि दी गई छवि ट्रक है या नाव।

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

अधिकांश बाइनरी क्लासिफ़िकेशन एल्गोरिदम का उपयोग मल्टी-क्लास क्लासिफ़िकेशन के लिए भी किया जा सकता है। इनमें शामिल हैं, पर सीमित नहीं:
- रैंडम फॉरेस्ट
- नाइफ़ बेयेज़
- K-नियरेस्ट नेबर्स
- ग्रेडिएंट बूस्टिंग
- SVM
- लॉजिस्टिक रिग्रेशन
पर रुके! क्या आपने नहीं कहा था कि SVM और लॉजिस्टिक रिग्रेशन डिफ़ॉल्ट रूप से मल्टी-क्लास क्लासिफ़िकेशन को सपोर्ट नहीं करते?
→ सही बात। लेकिन हम वन-वर्सेस-वन और वन-वर्सेस-ऑल जैसी बाइनरी ट्रांसफ़ॉर्मेशन रणनीतियाँ लागू करके मूल बाइनरी एल्गोरिदम को मल्टी-क्लास टास्क के अनुरूप बना सकते हैं।
वन-वर्सेस-वन: इस रणनीति में लेबल के प्रत्येक जोड़े के लिए एक-एक क्लासिफ़ायर ट्रेन किया जाता है। यदि हमारे पास 3-क्लास क्लासिफ़िकेशन है, तो तीन लेबल-पेयर होंगे, अतः तीन क्लासिफ़ायर, जैसा कि नीचे दिखाया गया है।

सामान्यतः, N लेबल के लिए Nx(N-1)/2 क्लासिफ़ायर्स होंगे। प्रत्येक क्लासिफ़ायर एक सिंगल बाइनरी डेटासेट पर प्रशिक्षित होता है, और अंतिम क्लास सभी क्लासिफ़ायर्स के बीच बहुमत वोट से तय होती है। वन-वर्सेस-वन दृष्टिकोण SVM और अन्य कर्नेल-आधारित एल्गोरिदम के लिए सर्वोत्तम काम करता है।
वन-वर्सेस-रेस्ट: इसमें हम प्रत्येक लेबल को स्वतंत्र मानते हैं और शेष सभी को एक साथ मिलाकर एक ही लेबल मानते हैं। 3-क्लास के साथ, हमारे पास तीन क्लासिफ़ायर होंगे।
सामान्यतः, N लेबल के लिए हमारे पास N बाइनरी क्लासिफ़ायर्स होंगे।

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

मल्टी-क्लास या बाइनरी क्लासिफ़िकेशन मॉडलों का उपयोग करके मल्टी-लेबल क्लासिफ़िकेशन नहीं किया जा सकता। हालाँकि, उन मानक टास्क में प्रयुक्त अधिकांश एल्गोरिदम के मल्टी-लेबल क्लासिफ़िकेशन के लिए विशेष संस्करण उपलब्ध हैं। उदाहरणस्वरूप:
- मल्टी-लेबल डिसीज़न ट्रीज़
- मल्टी-लेबल ग्रेडिएंट बूस्टिंग
- मल्टी-लेबल रैंडम फॉरेस्ट्स
इम्बैलेंस्ड क्लासिफ़िकेशन
इम्बैलेंस्ड क्लासिफ़िकेशन में प्रत्येक क्लास में उदाहरणों की संख्या असमान रूप से वितरित होती है, यानी ट्रेनिंग डेटा में एक क्लास के उदाहरण अन्य की तुलना में अधिक हो सकते हैं। मान लें 3-क्लास क्लासिफ़िकेशन परिदृश्य में ट्रेनिंग डेटा में 60% ट्रक, 25% प्लेन और 15% नावें हैं।

इम्बैलेंस्ड क्लासिफ़िकेशन समस्या निम्न परिदृश्यों में उत्पन्न हो सकती है:
- वित्तीय उद्योगों में धोखाधड़ी वाले लेनदेन का पता लगाना
- दुर्लभ बीमारियों का निदान
- कस्टमर चर्न विश्लेषण
डिसीज़न ट्रीज़, लॉजिस्टिक रिग्रेशन आदि जैसे पारंपरिक प्रेडिक्टिव मॉडलों का उपयोग इम्बैलेंस्ड डेटासेट पर प्रभावी नहीं हो सकता, क्योंकि वे सबसे अधिक ऑब्ज़र्वेशन वाली क्लास की ओर पक्षपाती हो सकते हैं और कम उदाहरण वाली क्लास को शोर मान सकते हैं।
तो, क्या इसका मतलब है कि ऐसी समस्याएँ अनदेखी रह जाती हैं?
बिल्कुल नहीं! डेटासेट में इम्बैलेंस समस्या से निपटने के लिए कई तरीके मौजूद हैं। सबसे आम तरीकों में सैंपलिंग तकनीकें या कॉस्ट-सेंसिटिव एल्गोरिदम की शक्ति का उपयोग शामिल है।
सैंपलिंग तकनीकें
इन तकनीकों का उद्देश्य मूल वितरण को संतुलित करना है:
- क्लस्टर-आधारित ओवरसैंपलिंग:
- रैंडम अंडरसैंपलिंग: मेजॉरिटी क्लास से उदाहरणों का रैंडम उन्मूलन।
- SMOTE ओवरसैंपलिंग: माइनॉरिटी क्लास के उदाहरणों का रैंडम प्रतिरूपण।
कॉस्ट-सेंसिटिव एल्गोरिदम
ये एल्गोरिदम मिसक्लासिफ़िकेशन की लागत को ध्यान में रखते हैं। इनका लक्ष्य मॉडलों द्वारा उत्पन्न कुल लागत को न्यूनतम करना होता है।
- कॉस्ट-सेंसिटिव डिसीज़न ट्रीज़
- कॉस्ट-सेंसिटिव लॉजिस्टिक रिग्रेशन
- कॉस्ट-सेंसिटिव सपोर्ट वेक्टर मशीन्स
मशीन लर्निंग क्लासिफ़िकेशन एल्गोरिदम का मूल्यांकन करने के मेट्रिक्स
अब जबकि हमें विभिन्न प्रकार के क्लासिफ़िकेशन मॉडलों का अंदाज़ा है, उनके लिए सही मूल्यांकन मेट्रिक्स चुनना ज़रूरी है। इस खंड में हम सबसे आम मेट्रिक्स कवर करेंगे: एक्यूरेसी, प्रिसीज़न, रिकॉल, F1 स्कोर, और ROC (Receiver Operating Characteristic) कर्व के तहत क्षेत्र तथा AUC (Area Under the Curve)।



क्लासिफ़िकेशन एल्गोरिदम में गहराई से दृष्टि
अब हमारे पास कुछ एल्गोरिदम के इम्प्लिमेंटेशन की ओर बढ़ने के लिए सभी औज़ार हैं। यह खंड चार एल्गोरिदम और उनके लोन डेटासेट पर इम्प्लिमेंटेशन को कवर करेगा ताकि पहले कवर की गई अवधारणाओं—विशेषकर बाइनरी क्लासिफ़िकेशन टास्क में इम्बैलेंस्ड डेटासेट—को दर्शाया जा सके। सरलता के लिए हम केवल चार एल्गोरिदम पर ध्यान देंगे।
लक्ष्य सर्वोत्तम संभव मॉडल पाना नहीं है, बल्कि यह दिखाना है कि नीचे दिए गए प्रत्येक एल्गोरिदम को कैसे प्रशिक्षित किया जाए। सोर्स कोड DataLab पर उपलब्ध है, जहाँ आप सब कुछ एक क्लिक में चला सकते हैं।
डेटासेट में लोन का वितरण
- डेटासेट में पहले पाँच ऑब्ज़र्वेशन देखें।
import pandas as pd
loan_data = pd.read_csv("loan_data.csv")
loan_data.head()

- डेटासेट में उधारकर्ताओं की प्रोफ़ाइल।
import matplotlib.pyplot as plt
# Helper function for data distribution
# Visualize the proportion of borrowers
def show_loan_distrib(data):
count = ""
if isinstance(data, pd.DataFrame):
count = data["not.fully.paid"].value_counts()
else:
count = data.value_counts()
count.plot(kind = 'pie', explode = [0, 0.1],
figsize = (6, 6), autopct = '%1.1f%%', shadow = True)
plt.ylabel("Loan: Fully Paid Vs. Not Fully Paid")
plt.legend(["Fully Paid", "Not Fully Paid"])
plt.show()
# Visualize the proportion of borrowers
show_loan_distrib(loan_data)

ऊपर दिए गए ग्राफ़ से हम देखते हैं कि 84% उधारकर्ताओं ने अपने लोन चुका दिए, और केवल 16% ने नहीं चुकाए—जिससे डेटासेट काफ़ी इम्बैलेंस्ड है।
वेरिएबल के प्रकार
आगे बढ़ने से पहले, हमें वेरिएबल्स के प्रकार जाँचने की ज़रूरत है ताकि जिन्हें एन्कोड करने की आवश्यकता है, उन्हें एन्कोड किया जा सके।
हम देखते हैं कि सभी कॉलम कंटीन्युअस वेरिएबल्स हैं, सिवाय purpose एट्रिब्यूट के, जिसे एन्कोड करने की आवश्यकता है।

# Check column types
print(loan_data.dtypes)

encoded_loan_data = pd.get_dummies(loan_data, prefix="purpose",
drop_first=True)
print(encoded_loan_data.dtypes)
डेटा को ट्रेन और टेस्ट में विभाजित करना
X = encoded_loan_data.drop('not.fully.paid', axis = 1)
y = encoded_loan_data['not.fully.paid']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.30,
stratify = y, random_state=2022)
सैंपलिंग रणनीतियों का उपयोग
यहाँ हम दो सैंपलिंग रणनीतियाँ देखेंगे: रैंडम अंडरसैंपलिंग और SMOTE ओवरसैंपलिंग।
रैंडम अंडरसैंपलिंग
हम मेजॉरिटी क्लास—“fully paid” (क्लास 0)—का अंडरसैंपलिंग करेंगे।
X_train_cp = X_train.copy()
X_train_cp['not.fully.paid'] = y_train
y_0 = X_train_cp[X_train_cp['not.fully.paid'] == 0]
y_1 = X_train_cp[X_train_cp['not.fully.paid'] == 1]
y_0_undersample = y_0.sample(y_1.shape[0])
loan_data_undersample = pd.concat([y_0_undersample, y_1], axis = 0)
# Visualize the proportion of borrowers
show_loan_distrib(loan_data_undersample)
SMOTE ओवरसैंपलिंग
माइनॉरिटी क्लास पर ओवरसैंपलिंग करें
smote = SMOTE(sampling_strategy='minority')
X_train_SMOTE, y_train_SMOTE = smote.fit_resample(X_train,y_train)
# Visualize the proportion of borrowers
show_loan_distrib(y_train_SMOTE)
सैंपलिंग रणनीतियाँ लागू करने के बाद हम देखते हैं कि डेटासेट विभिन्न प्रकार के उधारकर्ताओं के बीच समान रूप से वितरित हो गया है।
कुछ मशीन लर्निंग क्लासिफ़िकेशन एल्गोरिदम का उपयोग
इस खंड में हम इन दो क्लासिफ़िकेशन एल्गोरिदम को SMOTE से सैंपल किए गए डेटासेट पर लागू करेंगे। यही ट्रेनिंग पद्धति अंडरसैंपल किए गए डेटा पर भी लागू की जा सकती है।
लॉजिस्टिक रिग्रेशन
यह एक व्याख्यायोग्य एल्गोरिदम है। यह सिग्मॉइड फ़ंक्शन का उपयोग करके किसी डेटा पॉइंट के दिए गए क्लास में होने की प्रायिकता को मॉडल करके क्लासिफ़ाई करता है।
X = loan_data_undersample.drop('not.fully.paid', axis = 1)
y = loan_data_undersample['not.fully.paid']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.15, stratify = y, random_state=2022)
logistic_classifier = LogisticRegression()
logistic_classifier.fit(X_train, y_train)
y_pred = logistic_classifier.predict(X_test)
print(confusion_matrix(y_test,y_pred))
print(classification_report(y_test,y_pred))
सपोर्ट वेक्टर मशीन्स
यह एल्गोरिदम क्लासिफ़िकेशन और रिग्रेशन दोनों के लिए उपयोग किया जा सकता है। यह मार्जिन अधिकतमकरण सिद्धांत का उपयोग करके हाइपरप्लेन (डिसीज़न बाउंड्री) खींचना सीखता है। यह सीमा दो सबसे नज़दीकी सपोर्ट वेक्टर्स के माध्यम से खींची जाती है।
SVM एक ट्रांसफ़ॉर्मेशन रणनीति प्रदान करता है जिसे कर्नेल ट्रिक्स कहा जाता है, जिसका उपयोग नॉन-लाइनियर सेपरेबल डेटा को उच्च-आयामी स्पेस में प्रोजेक्ट करने के लिए किया जाता है ताकि वे लाइनियर रूप से सेपरेबल हो जाएँ।
from sklearn.svm import SVC
svc_classifier = SVC(kernel='linear')
svc_classifier.fit(X_train, y_train)
# Make Prediction & print the result
y_pred = svc_classifier.predict(X_test)
print(classification_report(y_test,y_pred))

इन परिणामों को और फ़ीचर इंजीनियरिंग तथा फाइन-ट्यूनिंग से निश्चित रूप से सुधारा जा सकता है। लेकिन ये मूल इम्बैलेंस्ड डेटा के उपयोग से बेहतर हैं।
XGBoost
यह एल्गोरिदम ग्रेडिएंट-बूस्टेड ट्रीज़ नामक प्रसिद्ध एल्गोरिदम का विस्तार है। यह ओवरफ़िटिंग का मुकाबला करने के साथ-साथ गति और प्रदर्शन के लिए भी उत्कृष्ट विकल्प है।
इसे अधिक लंबा न बनाते हुए, आप Machine Learning with Tree-Based Models in Python और Machine Learning with Tree-Based Models in R देखें। इन कोर्सेज़ से आप सीखेंगे कि Python और R दोनों में ट्री-आधारित मॉडल कैसे लागू करें।
उभरते हुए क्लासिफ़िकेशन एल्गोरिदम और तकनीकें
जैसे-जैसे मशीन लर्निंग विकसित हो रही है, नए क्लासिफ़िकेशन एल्गोरिदम और तकनीकें सामने आई हैं जो बेहतर प्रदर्शन, स्केलेबिलिटी और व्याख्येयता प्रदान करती हैं। यहाँ हम 2022 के बाद लोकप्रिय हुए कुछ उल्लेखनीय प्रगतियों—ट्रांसफ़ॉर्मर्स, डीप एंसेंबल मेथड्स, और एक्सप्लेनेबल AI (XAI) तकनीकों—का अन्वेषण करेंगे।
1. क्लासिफ़िकेशन के लिए ट्रांसफ़ॉर्मर्स
ट्रांसफ़ॉर्मर्स, जिन्हें मूल रूप से अनुवाद और टेक्स्ट जेनरेशन जैसे नैचुरल लैंग्वेज प्रोसेसिंग कार्यों के लिए डिज़ाइन किया गया था, हाल में विभिन्न डोमेन्स के क्लासिफ़िकेशन कार्यों के लिए अपनाए गए हैं। ट्रांसफ़ॉर्मर्स का प्रमुख नवोन्मेष सेल्फ-अटेंशन मैकेनिज़्म है, जो मॉडल्स को इनपुट डेटा के विभिन्न हिस्सों के महत्व को प्रभावी ढंग से तौलने देता है।
- विज़न ट्रांसफ़ॉर्मर्स (ViT): ViT ने छवियों को पैच के अनुक्रम के रूप में ट्रीट कर इमेज क्लासिफ़िकेशन में क्रांति ला दी, जैसे टेक्स्ट में शब्दों को किया जाता है। इस दृष्टिकोण ने इमेज क्लासिफ़िकेशन बेंचमार्क्स पर स्टेट-ऑफ-द-आर्ट प्रदर्शन दिया है।
- टैब्युलर ट्रांसफ़ॉर्मर्स: इन मॉडलों ने संरचित डेटा को संभालने में भी उम्मीद जगाई है, टैब्युलर क्लासिफ़िकेशन कार्यों के लिए रैंडम फॉरेस्ट्स और ग्रेडिएंट बूस्टिंग मशीनों का विकल्प प्रस्तुत करते हुए।
ट्रांसफ़ॉर्मर्स बड़े, जटिल डेटासेट्स को संभालने में उत्कृष्ट हैं और हेल्थकेयर, फ़ाइनेंस और ई-कॉमर्स जैसे उद्योगों में इमेज रिकग्निशन, फ्रॉड डिटेक्शन और रिकमेंडेशन सिस्टम्स जैसे कार्यों के लिए व्यापक रूप से अपनाए गए हैं।
2. डीप एंसेंबल मेथड्स
डीप एंसेंबल मेथड्स कई मॉडलों की भविष्यवाणियों को मिलाकर रोबस्टनेस, एक्यूरेसी और अनिश्चितता के अनुमान में सुधार करते हैं। विभिन्न मॉडलों की ताकतों का लाभ उठाकर, ये तरीक़े अक्सर व्यक्तिगत मॉडलों से बेहतर प्रदर्शन कर पाते हैं, विशेषकर जटिल क्लासिफ़िकेशन कार्यों में।
- स्टैकिंग और ब्लेंडिंग: पारंपरिक एंसेंबल तकनीकें जिनमें कई बेस क्लासिफ़ायर्स की भविष्यवाणियों को मेटा-क्लासिफ़ायर या वेटेड एवरेज से संयोजित किया जाता है। हालिया प्रगति में इन एंसेंबल्स में डीप लर्निंग मॉडलों का एकीकरण हुआ है, जिससे और अधिक शक्तिशाली क्लासिफ़ायर्स बने हैं।
- न्यूरल नेटवर्क्स के एंसेंबल: इसमें कई न्यूरल नेटवर्क्स को अलग-अलग इनिशियलाइज़ेशन या आर्किटेक्चर के साथ प्रशिक्षित कर उनकी भविष्यवाणियों का औसत लिया जाता है। यह ओवरफ़िटिंग घटाने और जनरलाइज़ेशन सुधारने में प्रभावी रहा है, खासकर इमेज और स्पीच क्लासिफ़िकेशन जैसी चुनौतीपूर्ण टास्क में।
- डायवर्सिटी-ड्रिवन एंसेंबल्स: ये एंसेंबल्स व्यक्तिगत मॉडलों के बीच विविधता को अधिकतम करने पर ध्यान देते हैं ताकि उनकी एरर्स का सहसंबंध घटे। बैगिंग, बूस्टिंग और डीकॉरिलेटिंग आउटपुट जैसी तकनीकों को डीप लर्निंग मॉडलों के साथ अनुकूलित किया गया है, जो इम्बैलेंस्ड या नॉइज़ी डेटासेट्स के लिए रोबस्ट समाधान देते हैं।
3. एक्सप्लेनेबल AI (XAI) तकनीकें
जैसे-जैसे मशीन लर्निंग मॉडल जटिल होते जा रहे हैं, व्याख्येयता और पारदर्शिता की ज़रूरत बढ़ी है। एक्सप्लेनेबल AI (XAI) तकनीकें क्लासिफ़िकेशन मॉडलों की निर्णय-प्रक्रिया को मनुष्यों के लिए अधिक समझने योग्य बनाती हैं, जो विशेषकर हेल्थकेयर और फ़ाइनेंस जैसे उच्च-जोखिम डोमेन्स में AI सिस्टम्स में भरोसा पैदा करने के लिए आवश्यक है।
- SHAP (SHapley Additive exPlanations): SHAP वैल्यूज़ फीचर इम्पॉर्टेंस का एकीकृत माप प्रदान करती हैं, जो किसी प्रिडिक्शन में प्रत्येक फीचर के योगदान को मान आवंटित करती हैं। यह विधि विभिन्न मॉडल प्रकारों, जिनमें डीप लर्निंग मॉडल भी शामिल हैं, पर लागू है और यह समझने में मदद करती है कि कौन-से फीचर्स मॉडल के निर्णयों को सबसे अधिक प्रभावित करते हैं।
- LIME (Local Interpretable Model-Agnostic Explanations): LIME व्यक्तिगत प्रिडिक्शन्स को, मॉडल को स्थानीय रूप से किसी व्याख्यायोग्य मॉडल से लगभगित करके, समझाती है। यह तकनीक विशेष रूप से न्यूरल नेटवर्क्स और ग्रेडिएंट बूस्टिंग मशीनों जैसे जटिल मॉडलों को क्लासिफ़िकेशन संदर्भ में समझने के लिए उपयोगी है।
- काउंटरफ़ैक्चुअल एक्सप्लेनेशन्स: इसमें इनपुट डेटा में सबसे छोटा परिवर्तन खोजा जाता है जो क्लासिफ़िकेशन परिणाम को बदल दे। यह व्यवहार्य अंतर्दृष्टि देने का व्यावहारिक तरीका है, जैसे क्रेडिट स्कोरिंग में जानना कि कौन-से बदलाव करने से लोन अप्रूवल मिल सकता है।
ये XAI तकनीकें बढ़ते हुए क्लासिफ़िकेशन मॉडलों में एकीकृत की जा रही हैं ताकि पारदर्शिता में सुधार हो और नियामकीय आवश्यकताओं—जैसे यूरोप में GDPR, जो स्वचालित निर्णयों के लिए स्पष्टीकरण अनिवार्य करता है—का पालन हो सके।
निष्कर्ष
इस वैचारिक ब्लॉग में मशीन लर्निंग में क्लासिफ़िकेशन के मुख्य पहलुओं को कवर किया गया और उन विभिन्न डोमेन्स के उदाहरण भी दिए गए जहाँ इनका उपयोग होता है। अंत में, मॉडलों के प्रशिक्षण के लिए बैलेंस्ड डेटासेट बनाने हेतु अंडरसैंपलिंग और SMOTE ओवरसैंपलिंग रणनीतियाँ लागू करने के बाद लॉजिस्टिक रिग्रेशन और सपोर्ट वेक्टर मशीन के इम्प्लिमेंटेशन को कवर किया गया।
हमें उम्मीद है कि इससे मशीन लर्निंग में क्लासिफ़िकेशन विषय की आपकी समझ बेहतर हुई होगी। आप आगे Machine Learning Scientist with Python ट्रैक का अनुसरण करके अपनी सीख बढ़ा सकते हैं, जो सुपरवाइज़्ड, अनसुपरवाइज़्ड और डीप लर्निंग—तीनों—को कवर करता है। यह नैचुरल लैंग्वेज प्रोसेसिंग, इमेज प्रोसेसिंग, Spark और Keras का अच्छा परिचय भी प्रदान करता है।
Classification FAQs
SVM में अलग-अलग प्रकार के कर्नेल कौन से हैं?
SVM में लोकप्रिय कर्नेल हैं: लीनियर कर्नेल, पोलिनोमियल कर्नेल, गॉसियन कर्नेल, रेडियल बेसिस फ़ंक्शन (RBF), लैप्लेस RBF कर्नेल, सिग्मॉइड कर्नेल, एनोवा कर्नेल, बेसल फ़ंक्शन कर्नेल।
हम क्लासिफ़िकेशन का उपयोग क्यों करते हैं?
क्लासिफ़िकेशन एक सुपरवाइज़्ड मशीन लर्निंग विधि है जिसका उपयोग दिए गए इनपुट डेटा के सही लेबल की भविष्यवाणी करने के लिए किया जाता है।
कौन से एल्गोरिदम रिग्रेशन और क्लासिफ़िकेशन दोनों के लिए उपयोग किए जा सकते हैं?
हम SVM और न्यूरल नेटवर्क्स का उपयोग कर सकते हैं।
मल्टीक्लास क्लासिफ़िकेशन के लिए सबसे अच्छा एल्गोरिदम कौन सा है?
कई एल्गोरिदम हैं, लेकिन सबसे लोकप्रिय में k-नियरेस्ट नेबर्स, डिसीज़न ट्रीज़, नाइफ़ बेयेज़, रैंडम फॉरेस्ट और ग्रेडिएंट बूस्टिंग शामिल हैं।
छोटे डेटासेट के लिए कौन-सा क्लासिफ़िकेशन एल्गोरिदम सबसे अच्छा है?
छोटे डेटासेट्स पर काम करते समय लॉजिस्टिक रिग्रेशन, SVMs और नाइफ़ बेयेज़ आम तौर पर बेहतर जनरलाइज़ करते हैं।

