मैंने कुछ डेटा पर एक साधारण Pytorch तंत्रिका नेटवर्क को प्रशिक्षित किया है, और अब सटीकता, याद, f1 और सटीक जैसे मेट्रिक्स का उपयोग करके इसका परीक्षण और मूल्यांकन करना चाहता हूं। मैंने पाइटोरच दस्तावेज़ों को अच्छी तरह से खोजा और इन मैट्रिक्स के लिए कोई वर्ग या कार्य नहीं मिला। मैंने तब अनुमानित लेबल और वास्तविक लेबल को सुन्न सरणियों में बदलने और स्किकिट-लर्न के मेट्रिक्स का उपयोग करने की कोशिश की, लेकिन अनुमानित लेबल 0 या 1 (मेरे लेबल) नहीं हैं, बल्कि निरंतर मान हैं। इस वजह से स्किकिट-लर्न मेट्रिक्स काम नहीं करते। Fast.ai प्रलेखन का कोई मतलब नहीं था, मैं समझ नहीं पाया कि किस वर्ग को सटीक आदि के लिए विरासत में मिला है (हालाँकि मैं सटीकता की गणना करने में सक्षम था)। किसी भी मदद की बहुत सख्त सराहना की जाएगी।

1
Anjali Bhavan 8 जुलाई 2020, 21:31

1 उत्तर

सबसे बढ़िया उत्तर

आमतौर पर, एक द्विआधारी वर्गीकरण सेटिंग में, आपका तंत्रिका नेटवर्क घटना के घटित होने की संभावना को आउटपुट करेगा (उदाहरण के लिए, यदि आप सिग्मॉइड सक्रियण और आउटपुट परत पर एक एकल न्यूरॉन का उपयोग कर रहे हैं), जो कि 0 और 1 के बीच एक निरंतर मान है। मूल्यांकन करने के लिए आपके मॉडल की सटीकता और याद (उदाहरण के लिए, स्किकिट-लर्न के precision_score और recall_score के साथ), यह आवश्यक है कि आप अपने मॉडल की संभावना को बाइनरी मान में बदल दें। यह आपके मॉडल की प्रायिकता के लिए एक थ्रेशोल्ड मान निर्दिष्ट करके प्राप्त किया जाता है। (सीमा के बारे में अवलोकन के लिए, कृपया इस संदर्भ पर एक नज़र डालें: https ://developers.google.com/machine-learning/crash-course/classification/thresholding)

स्किकिट-लर्न्स precision_recall_curve (https://scikit -learn.org/stable/modules/generated/sklearn.metrics.precision_recall_curve.html) का इस्तेमाल आमतौर पर यह समझने के लिए किया जाता है कि अलग-अलग प्रायिकता थ्रेसहोल्ड के लिए सटीक और रिकॉल मेट्रिक्स कैसे व्यवहार करते हैं। प्रति थ्रेशोल्ड सटीक और रिकॉल मानों का विश्लेषण करके, आप अपनी समस्या के लिए सर्वोत्तम सीमा निर्दिष्ट करने में सक्षम होंगे (आप उच्च परिशुद्धता चाहते हैं, इसलिए आप उच्च थ्रेसहोल्ड का लक्ष्य रखेंगे, उदाहरण के लिए, 90%; या आप एक संतुलित रखना चाहते हैं सटीकता और स्मरण, और आपको उस सीमा की जांच करनी होगी जो आपकी समस्या के लिए सर्वोत्तम f1 स्कोर लौटाती है)। विषय पर एक अच्छा अवलोकन निम्नलिखित संदर्भ में पाया जा सकता है: https://machinelearningmastery .com/threshold-moving-for-imbalanced-classification/

मुझे आशा है कि यह मददगार हो सकता है।

1
bqbastos 10 जुलाई 2020, 01:00