मैं मशीन सीखने की शुरुआत कर रहा हूं और मैं एक स्थिति का सामना कर रहा हूं। IPinYou डेटासेट के साथ मैं रियल टाइम बिडिंग समस्या पर काम कर रहा हूं और मैं एक क्लिक भविष्यवाणी करने की कोशिश कर रहा हूं।
बात यह है कि, जैसा कि आप जानते हैं, डेटासेट बहुत असंतुलित है: 1 सकारात्मक उदाहरण (क्लिक) के लिए लगभग 1300 नकारात्मक उदाहरण (गैर क्लिक)।
मैं यह करता हूं:
- डेटा लोड करें
- डेटासेट को 3 डेटासेट में विभाजित करें: A = प्रशिक्षण (60%) B = वैध (20%) C = परीक्षण (20%)
- प्रत्येक डेटासेट (A, B, C) के लिए, प्रत्येक ऋणात्मक वर्ग पर एक अंडर-सैंपलिंग करें, जिसमें 5 का अनुपात हो (1 सकारात्मक उदाहरण के लिए 5 नकारात्मक उदाहरण)। यह मुझे 3 नए डेटासेट देता है जो अधिक संतुलित हैं: A 'B' C '
फिर मैं अपने मॉडल को डाटासेट A 'और लॉजिस्टिक रिग्रेशन के साथ प्रशिक्षित करता हूं।
मेरा प्रश्न हैं:
सत्यापन के लिए मुझे कौन से डेटासेट का उपयोग करना होगा? B या B '?
परीक्षण के लिए मुझे कौन से डेटासेट का उपयोग करना है? C या C '
मेरे मॉडल का मूल्यांकन करने के लिए कौन से मीट्रिक सबसे अधिक प्रासंगिक हैं? F1Score एक अच्छी तरह से इस्तेमाल किया मीट्रिक है। लेकिन यहां असंतुलित वर्ग (यदि मैं डेटासेट बी और सी का उपयोग करता हूं) के कारण, परिशुद्धता कम है (0.20 से कम) और एफ 1 कोरकोर कम रिकॉल / परिशुद्धता से बहुत प्रभावित होता है। क्या यह aucPR या aucroC का उपयोग करने के लिए अधिक सटीक होगा?
अगर मैं लर्निंग कर्व को प्लॉट करना चाहता हूं, तो मुझे किन मेट्रिक्स का इस्तेमाल करना चाहिए? (यह जानते हुए कि यदि मैं मान्य करने के लिए B 'डेटासेट का उपयोग करता हूं तो% त्रुटि प्रासंगिक नहीं है)
आपके समय के लिए आपका अग्रिम धन्यवाद !
सादर।