इस पायथन फ़ंक्शन को बुकमार्क करें जो आपके बाइनरी क्लासिफायरियर का आकलन करना आसान बनाता है।
कार्यक्षमता अवलोकन
लॉजिस्टिक रिग्रेशन इसकी व्याख्या के लिए एक मूल्यवान क्लासिफायरियर है। यह कोड स्निपेट एक कट-एंड-पेस्ट फ़ंक्शन प्रदान करता है जो मेट्रिक्स को प्रदर्शित करता है जो तब मायने रखता है जब बाइनरी वर्गीकरण समस्याओं के लिए लॉजिस्टिक रिग्रेशन का उपयोग किया जाता है। यहां सब कुछ पहले से ही स्किकिट-लर्न द्वारा प्रदान किया गया है, लेकिन इस सहायक फ़ंक्शन के बिना मैन्युअल रूप से कॉल करने और कल्पना करने के लिए समय लेने वाला और दोहराव हो सकता है।
वीआरए क्रिप्टो क्या है?
evalBinaryClassifier () इनपुट के रूप में एक फिटेड मॉडल, टेस्ट फीचर्स और टेस्ट लेबल लेता है। यह F1 स्कोर देता है, और घने आउटपुट को भी प्रिंट करता है जिसमें शामिल हैं:
- मात्राओं और टेक्स्ट लेबलों के साथ लेबल किए गए पूर्ण भ्रम मैट्रिक्स (उदा. ट्रू पॉज़िटिव)
- दोनों वर्गों की अनुमानित संभावनाओं का वितरण
- आरओसी वक्र, एयूसी, साथ ही वक्र के साथ निर्णय बिंदु जो भ्रम मैट्रिक्स और वितरण का प्रतिनिधित्व करते हैं
- प्रेसिजन, रिकॉल और F1 स्कोर
इन आउटपुट की व्याख्या कैसे करें, इसकी व्याख्या के लिए, कोड ब्लॉक के बाद पर जाएं।
आवश्यक आयात:
import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns from sklearn.metrics import roc_curve, confusion_matrix, auc from sklearn import linear_model
उदाहरण
logr = linear_model.LogisticRegressionCV() logr.fit(X_train,y_train) F1 = evalBinaryClassifier(logr,X_test,y_test)
आउटपुट:
कोड
|_+_|
व्याख्या:
वाम चार्ट: भ्रम मैट्रिक्स
कन्फ्यूजन मैट्रिक्स उन भविष्यवाणियों का वर्णन करता है जो मॉडल को सही (सही) या गलत (गलत) के रूप में बनाया गया है। यह इनकी तुलना वास्तविक सत्य से करता है। एक आदर्श मॉडल में केवल ट्रू पॉजिटिव और ट्रू नेगेटिव होंगे। एक विशुद्ध रूप से यादृच्छिक मॉडल में सभी 4 श्रेणियां समान मात्रा में होंगी।
यदि आपके पास वर्ग असंतुलन की समस्या है, तो आमतौर पर आपको कई नकारात्मक (सत्य और गलत दोनों) और कुछ सकारात्मक, या इसके विपरीत दिखाई देंगे। (इसके एक बेहतरीन उदाहरण के लिए, मेरा प्रोजेक्ट देखें व्यवधान की भविष्यवाणी ।)
केंद्र चार्ट: भविष्यवाणियों का वितरण
केंद्र ग्राफ़ एक सकारात्मक परिणाम की अनुमानित संभावनाओं का वितरण है। उदाहरण के लिए, यदि आपका मॉडल १००% सुनिश्चित है कि एक नमूना सकारात्मक है, यदि वह सबसे दूर के डिब्बे में होगा। दो अलग-अलग रंग TRUE वर्ग को इंगित करते हैं, न कि अनुमानित वर्ग को। एक आदर्श मॉडल हरे और लाल वितरण के बीच बिल्कुल भी ओवरलैप नहीं दिखाएगा। एक विशुद्ध रूप से यादृच्छिक मॉडल उन्हें एक दूसरे को पूरी तरह से ओवरलैप करते हुए देखेगा।
NS निर्णय सीमा मॉडल की अंतिम भविष्यवाणियों को तय करता है। स्किकिट-लर्न में, डिफ़ॉल्ट निर्णय सीमा है .5; यानी, .5 से ऊपर की किसी भी चीज़ की भविष्यवाणी 1 (सकारात्मक) के रूप में की जाती है और .5 से नीचे की किसी भी चीज़ की भविष्यवाणी 0 (नकारात्मक) के रूप में की जाती है। यह आपके मॉडल के साथ-साथ आरओसी वक्र को समझने के लिए एक महत्वपूर्ण विवरण है।
दायां चार्ट: आरओसी वक्र
रिसीवर ऑपरेटिंग विशेषता वक्र * सभी संभव * का वर्णन करता है निर्णय सीमा . हरे रंग की वक्र संभावनाओं का प्रतिनिधित्व करती है, और विभिन्न निर्णय बिंदुओं पर सही सकारात्मक दर और झूठी सकारात्मक दर के बीच व्यापार बंद। चरम सीमाओं को समझना आसान है: आपका मॉडल सभी नमूनों के लिए 1 का अनुमान लगा सकता है और एक सही सच्ची सकारात्मक दर प्राप्त कर सकता है, लेकिन इसमें 1 की झूठी सकारात्मक दर भी होगी। इसी तरह, आप हर चीज की आलसी भविष्यवाणी करके अपनी झूठी सकारात्मक दर को शून्य तक कम कर सकते हैं। नकारात्मक के रूप में, लेकिन आपकी सच्ची सकारात्मक दर भी शून्य होगी। आपके मॉडल में मूल्य यह है कि यह ट्रू पॉजिटिव रेट * को तेजी से * बढ़ाने की क्षमता है, इससे झूठी सकारात्मक दर बढ़ जाती है।
लाइव एचटीएमएल, सीएसएस संपादक
एक आदर्श मॉडल y-अक्ष (100% ट्रू पॉज़िटिव, 0% फ़ॉल्स पॉज़िटिव) के ऊपर एक लंबवत रेखा होगी। एक विशुद्ध रूप से यादृच्छिक मॉडल नीली बिंदीदार रेखा पर सही होगा (अधिक ट्रू पॉजिटिव का अर्थ है समान संख्या में गलत पॉजिटिव ढूंढना)।
वाम: एक आदर्श मॉडल; दाएं: एक विशुद्ध रूप से यादृच्छिक मॉडल
नीला बिंदु .5 निर्णय सीमा का प्रतिनिधित्व करता है जो वर्तमान में भ्रम मैट्रिक्स का निर्धारण कर रहा है।
इसे बदलना आपके मॉडल की संवेदनशीलता को समायोजित करने का एक उपयोगी तरीका है जब एक त्रुटि प्रकार दूसरे से खराब होता है। एक उदाहरण के रूप में, स्वास्थ्य देखभाल इन निर्णयों से भरी हुई है: गलत तरीके से कैंसर का निदान करना अच्छे स्वास्थ्य का गलत निदान करने से बेहतर है। उस स्थिति में, हम एक बहुत कम निर्णय सीमा चाहते हैं, जिसका अर्थ है, केवल एक नकारात्मक परिणाम (कोई कैंसर नहीं) की भविष्यवाणी करें यदि हम इसके बारे में बहुत निश्चित हैं।
यदि आप इसी मॉडल का उपयोग करते हुए कोई भिन्न सीमा चुनते हैं (उदा: .5 के बजाय .3), तो नीला बिंदु हरे रंग के वक्र के साथ ऊपर और दाईं ओर जाएगा। नई सीमा का अर्थ है कि हम अधिक ट्रू पॉज़िटिव, और अधिक फ़ॉल्स पॉज़िटिव को भी पकड़ेंगे। इसे केंद्र चार्ट में नीली रेखा के रूप में भी आसानी से देखा जा सकता है जब तक कि यह 0.3 पर न हो: सीमा के दाईं ओर अधिक हरे डिब्बे होंगे, लेकिन अधिक लाल डिब्बे भी होंगे।
स्किकिट-लर्न में निर्णय सीमा को समायोजित करने का कोई अंतर्निहित तरीका नहीं है, लेकिन इसे कॉल करके आसानी से किया जा सकता है भविष्यवाणी_परीक्षण () अपने डेटा पर विधि, और फिर अपनी पसंद की सीमा के आधार पर निर्णय को मैन्युअल रूप से कोड करना।
ज्यूपिटर नोटबुक डार्क मोड
क्या इससे आपको अपने मॉडल को समझने में मदद मिली? क्या इसमें सुधार किया जा सकता है? मुझे बताएं, मुझे आपसे सुनना अच्छा लगेगा!
#मशीन-लर्निंग #डेटा-विज्ञान
ओरडाटासाइंस.कॉम
स्किकिट-लर्न के साथ बाइनरी लॉजिस्टिक रेजिस्टर का आकलन कैसे करें
इस पायथन फ़ंक्शन को बुकमार्क करें जो आपके बाइनरी क्लासिफायरियर का आकलन करना आसान बनाता है।