मेरे पास बहुत असंतुलित डेटासेट है। मैं ट्यूनिंग सलाह का पालन करने और उपयोग करने की कोशिश कर रहा हूं scale_pos_weight
लेकिन यह सुनिश्चित नहीं है कि मुझे इसे कैसे ट्यून करना चाहिए।
मैं देख सकता हूँ कि RegLossObj.GetGradient
करता है:
if (info.labels[i] == 1.0f) w *= param_.scale_pos_weight
इसलिए एक सकारात्मक नमूने का एक ढाल अधिक प्रभावशाली होगा। हालाँकि, xgboost पेपर के अनुसार , ढाल सांख्यिकीय हमेशा स्थानीय रूप से उपयोग किया जाता है = एक विशिष्ट पेड़ में एक विशिष्ट नोड के उदाहरणों के भीतर:
- एक नोड के संदर्भ में, एक उम्मीदवार विभाजन के नुकसान में कमी का मूल्यांकन करने के लिए
- पत्ती नोड के संदर्भ में, उस नोड को दिए गए वजन का अनुकूलन करने के लिए
तो पहले से जानने का कोई तरीका नहीं है कि क्या अच्छा होगा scale_pos_weight
- यह एक नोड के लिए एक बहुत अलग संख्या है जो सकारात्मक और नकारात्मक उदाहरणों के बीच 1: 100 के अनुपात के साथ समाप्त होती है, और 1: 2 के अनुपात के साथ नोड के लिए।
कोई संकेत?