TATECHATLAS
◎ हिन्दी
गणित और मॉडल

फॉल्स पॉजिटिव और फॉल्स नेगेटिव की लागत से वर्गीकरण थ्रेशोल्ड चुनें

एक व्यावहारिक गाइड जो एक अलग मान्यकरण सेट और scikit-learn कन्फ्यूजन मैट्रिक्स का उपयोग करके फॉल्स-पॉजिटिव और फॉल्स-नेगेटिव लागत को भारित करके निर्णय थ्रेशोल्ड चुनने पर चर्चा करती है।

इस पृष्ठ पर

मान्यकरण डेटा पर स्पष्ट त्रुटि लागतों का उपयोग करके उम्मीदवार थ्रेशोल्ड की तुलना करें। इस गाइड में दिए गए काल्पनिक गणनाओं के लिए, वेरिएंट A में चार फॉल्स पॉजिटिव और एक फॉल्स नेगेटिव हैं; वेरिएंट B में एक और तीन हैं। लागत 1 और 5 के साथ, उनके कुल 9 और 16 हैं, इसलिए इन दो विकल्पों में A सस्ता है। यह एक चित्रण गणना है, फिट किए गए मॉडल परिणाम या वैश्विक इष्टतम थ्रेशोल्ड का प्रमाण नहीं। अंतिम परीक्षण डेटा को अलग रखें और अनिश्चितता और तैनाती स्थितियों का मूल्यांकन करें।

स्कोर को निर्णय से अलग रखें

एक वर्गीकरणकर्ता स्कोर उत्पन्न करता है, जबकि थ्रेशोल्ड उस स्कोर को निर्णय में बदल देता है। द्विआधारी नियम के लिए, आप सकारात्मक निर्णय को स्कोर greater than or equal to थ्रेशोल्ड के रूप में परिभाषित कर सकते हैं। स्कोर की दिशा और सकारात्मक वर्ग स्पष्ट होना चाहिए। एक प्रायिकता-दिखने वाला मान स्वयं यह स्थापित नहीं करता कि मॉडल कैलिब्रेटेड है।

थ्रेशोल्ड बदलने से यह बदल जाता है कि कौन से मामले सकारात्मक और नकारात्मक निर्णय प्राप्त करते हैं। यह underlying मॉडल को पुनः प्रशिक्षित नहीं करता या इसकी प्रायिकताओं को पूर्वाग्रह-मुक्त नहीं बनाता। 0.5 जैसा एक पारंपरिक कटऑफ प्रायिकता स्कोर के लिए एक प्रारंभ बिंदु है, सार्वभौमिक लागत-इष्टतम सेटिंग नहीं। वास्तव में लेने के निर्णय के विरुद्ध विकल्पों की तुलना करें।

यह तय करें कि कौन सी त्रुटि अधिक लागत वाली है

अनेक क्षेत्रों में एक फॉल्स नेगेटिव (FN) एक फॉल्स पॉजिटिव (FP) से कहीं अधिक क्षतिकारक होता है। लागत-संवेदी थ्रेशोल्ड चयन के लिए उपयोगकर्ता को संख्यात्मक जुर्माने निर्दिष्ट करने होते हैं, जैसे कि cost(FP)=1 और cost(FN)=5। ये संख्याएं डेटा से व्युत्पन्न नहीं होतीं; वे क्षेत्र विशेषज्ञता, नियामक प्रभाव या डाउनस्ट्रीम व्यय को प्रतिबिंबित करती हैं। एक बार लागतें निश्चित हो जाने पर, किसी दिए गए थ्रेशोल्ड के लिए कुल लागत केवल cost(FP)·FP + cost(FN)·FN होती है।

कन्फ्यूजन मैट्रिक्स की गणना करें

scikit-learn का confusion_matrix उस सम्मेलन का अनुसरण करता है कि पंक्तियां = वास्तविक वर्ग, स्तंभ = पूर्वानुमानित वर्ग। labels=[0,1] वाले द्विआधारी समस्याओं के लिए, प्रविष्टियां हैं: TN = C[0,0], FP = C[0,1], FN = C[1,0], TP = C[1,1]। मान्यकरण स्कोर और एक उम्मीदवार थ्रेशोल्ड का उपयोग करके हम y_pred = (probs >= thr).astype(int) प्राप्त कर सकते हैं और फिर confusion_matrix(y_val, y_pred, labels=[0,1]) को कॉल कर सकते हैं।

दो चित्रण थ्रेशोल्ड की तुलना करें

स्पष्ट रूप से काल्पनिक कन्फ्यूजन गणनाओं का उपयोग करें: वेरिएंट A में FP=4 और FN=1 हैं, और वेरिएंट B में FP=1 और FN=3 हैं। मान लें कि एक फॉल्स पॉजिटिव की लागत एक इकाई है और एक फॉल्स नेगेटिव की लागत पांच इकाइयां हैं। A का कुल 1*4 + 5*1 = 9 है। B का कुल 1*1 + 5*3 = 16 है।

ये गणनाएं दो निर्मित विकल्पों में से A सस्ती है भले ही B में कम फॉल्स पॉजिटिव हों। ये गणनाएं अंकगणित चित्रण के लिए दी गई हैं; कोड कोई वर्गीकरणकर्ता को प्रशिक्षित नहीं करता या डेटासेट से उन्हें उत्पन्न नहीं करता। नीचे दो प्रिंट किए गए कुल अपेक्षित परिणाम हैं जो सूत्र से व्युत्पन्न हैं, किसी निष्पादित परीक्षण से अवलोकन नहीं।

cost_fp = 1
cost_fn = 5
fp_a, fn_a = 4, 1
fp_b, fn_b = 1, 3
cost_a = cost_fp * fp_a + cost_fn * fn_a
cost_b = cost_fp * fp_b + cost_fn * fn_b
print("Cost A:", cost_a)
print("Cost B:", cost_b)

चयनित आउट वैलिडेशन पर चुनें

मॉडल को प्रशिक्षण डेटा पर प्रशिक्षित करें, फिर अलग वैलिडेशन प्रेडिक्शन पर थ्रेशोल्ड की तुलना करें। वैलिडेशन गणना को उन्हीं अवलोकनों का उपयोग करके न करें जिन्होंने मॉडल को फिट किया। कार्य के लिए एक उचित विभाजन का उपयोग करें: एक क्रोनोलॉजिकल समस्या में यादृच्छिक नमूनाकरण के बजाय समय-सम्मानित विभाजन की आवश्यकता हो सकती है।

थ्रेशोल्ड चयन स्वयं वैलिडेशन परिणामों का उपयोग करता है, इसलिए सबसे छोटा देखा गया वैलिडेशन लागत रिपोर्ट करना उत्साहवर्धक हो सकता है। एक अलग विभाजन प्रशिक्षण उदाहरणों के सीधे पुन: उपयोग को रोकता है; यह एक अनभिन्न अनुमान या पर्याप्त सकारात्मक मामलों की गारंटी नहीं देता। विभाजन, उम्मीदवार थ्रेशोल्ड, वर्ग गणना और लागत धारणाओं को रिकॉर्ड करें ताकि तुलना की व्याख्या की जा सके।

थ्रेशोल्ड चयन को परीक्षण सेट से दूर रखें

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

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

तैनाती प्रचलन की जाँच करें

तैनाती प्रचलन वह अनुपात है जहाँ निर्णय का उपयोग किया जाएगा उस जनसंख्या में सकारात्मक मामलों का। यह वैलिडेशन प्रचलन से भिन्न हो सकता है। एक प्रस्तावित प्रचलन p के तहत प्रति-मामला अपेक्षित लागत की तुलना करने के लिए, cost_fp*(1-p)*FPR + cost_fn*p*FNR का उपयोग करें, जहाँ FPR नकारात्मक मामलों का वह अंश है जिन्हें सकारात्मक वर्गीकृत किया गया है और FNR सकारात्मक मामलों का वह अंश है जिन्हें नकारात्मक वर्गीकृत किया गया है।

यह समायोजन मानता है कि सशर्त त्रुटि दरें बदली हुई वर्ग वितरण के तहत लागू रहती हैं। यह विशेषताओं, कैलिब्रेशन या लेबलिंग प्रक्रिया में यादृच्छिक बदलावों को संभालता नहीं है। अपनी दरों का अनुमान लगाने के लिए दोनों वर्गों को पर्याप्त अवलोकनों की आवश्यकता होती है। प्रति-मामला अपेक्षित लागत को एक प्रस्तावित जनसंख्या आकार से गुणा करने से इन धारणाओं के तहत एक कुल मिलता है; अलग-अलग आकार की जनसंख्याओं से कच्ची गणनाओं की तुलना एक दूसरे के समान नहीं करें।

लागत तुलना में क्या शामिल नहीं है, उसे बताएं

सरल लागत सूत्र कई वास्तविक-दुनिया कारकों को अनदेखा करता है: (1) डाउनस्ट्रीम कार्यों का मौद्रिक मूल्य (जैसे, अतिरिक्त परीक्षण), (2) लागत अनुमानों में अनिश्चितता, (3) द्विआधारी परिणामों से परे शुरुआती पहचान के संभावित लाभ, और (4) कैलिब्रेशन का प्रभाव - संभावना अनुमान पूर्वग्रहित हो सकते हैं, जिससे एक कम थ्रेशोल्ड वास्तव में उससे सस्ता प्रतीत हो सकता है। इन omissions को दस्तावेजीकृत किया जाना चाहिए, और लागत पैरामीटर बदलकर संवेदनशीलता विश्लेषण किया जा सकता है।

क्या जाँचें

  • सकारात्मक वर्ग और स्कोर दिशा को स्पष्ट रूप से परिभाषित करें।
  • प्रशिक्षण और थ्रेशोल्ड-चयन अवलोकनों को अलग रखें।
  • labels=[0,1] के साथ, कन्फ्यूजन मैट्रिक्स को पंक्ति-प्रमुख क्रम में TN, FP, FN, TP के रूप में पढ़ें।
  • फॉल्स-पॉजिटिव और फॉल्स-नेगेटिव लागत को उनकी इकाइयों सहित बताएं।
  • 9 और 16 के कुल को निर्मित अंकगणित उदाहरणों के रूप में मानें।
  • अंतिम परीक्षण डेटा को थ्रेशोल्ड चयन से बाहर रखें।
  • प्रचलन को समायोजित करते समय, सशर्त त्रुटि दरों के बारे में धारणा बताएं।

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

स्रोत

  1. scikit-learn: decision threshold tuning ↗
  2. scikit-learn: confusion matrix ↗
ऊपर जाएँ ↑