आप मॉडल को संकलित करते समय आपके द्वारा निर्दिष्ट किसी भी मीट्रिक फ़ंक्शन का उपयोग कर सकते हैं।
मान लें कि आपके पास निम्न मीट्रिक फ़ंक्शन है:
def my_metric(y_true, y_pred):
return some_metric_computation(y_true, y_pred)
इस फ़ंक्शन के लिए एकमात्र आवश्यकता यह है कि यह सही y और अनुमानित y को स्वीकार करता है।
जब आप मॉडल संकलित करते हैं, तो आप इस मीट्रिक को निर्दिष्ट करते हैं, इसी तरह आप 'सटीकता' जैसे मैट्रिक्स में निर्माण को कैसे निर्दिष्ट करते हैं:
model.compile(metrics=['accuracy', my_metric], ...)
ध्यान दें कि हम फ़ंक्शन नाम का उपयोग कर रहे हैं my_metric बिना '' ('सटीकता' में बिल्ड के विपरीत)।
फिर, यदि आप अपने अर्लीस्टॉपिंग को परिभाषित करते हैं, तो केवल फ़ंक्शन के नाम का उपयोग करें (इस बार '' के साथ):
EarlyStopping(monitor='my_metric', mode='min')
मोड निर्दिष्ट करना सुनिश्चित करें (यदि कम बेहतर है, तो अधिकतम बेहतर है तो अधिकतम)।
आप इसे किसी भी बिल्ड-इन मीट्रिक की तरह उपयोग कर सकते हैं। यह शायद अन्य कॉलबैक जैसे कि मॉडलचेकपॉइंट के साथ भी काम करता है (लेकिन मैंने इसका परीक्षण नहीं किया है)। आंतरिक रूप से, Keras केवल फ़ंक्शन नाम का उपयोग करके इस मॉडल के लिए उपलब्ध मीट्रिक की सूची में नई मीट्रिक जोड़ता है।
यदि आप अपने model.fit (...) में सत्यापन के लिए डेटा निर्दिष्ट करते हैं, तो आप 'val_my_metric' का उपयोग करके अर्लीस्टॉपिंग के लिए भी इसका उपयोग कर सकते हैं।