2015-09-10 7 views
6

मेरे पास कक्षा असंतुलन समस्या है और लागत संवेदनशील सीखने का उपयोग करके इसे हल करना चाहते हैं।विज्ञानकिट में नमूना वजन और कक्षा वजन विकल्पों के बीच क्या अंतर है?

  1. नमूना के तहत और नमूना से अधिक
  2. वर्ग के लिए वजन देने के एक संशोधित नुकसान समारोह

प्रश्न

Scikit जानने के 2 विकल्प वर्ग वजन और नमूना वजन कहा जाता है का उपयोग करें। नमूना वजन वास्तव में विकल्प कर रहा है 2) और वर्ग वजन विकल्प 1)। विकल्प 2) वर्ग असंतुलन को संभालने का अनुशंसित तरीका है।

+1

मुझे लगता है कि यह काफी हद तक समस्या पर निर्भर करता है। क्या आप अपने डेटा को असंतुलित करने के बारे में कुछ और जानकारी प्रदान कर सकते हैं, और शायद आपने पहले ही क्या प्रयास किया है? – NBartley

उत्तर

4

यह समान अवधारणाएं हैं, लेकिन नमूना_वेइट्स के साथ आप कुछ नमूने पर अधिक ध्यान देने के लिए अनुमानक को लागू कर सकते हैं, और class_weights के साथ आप कुछ वर्ग पर ध्यान देने के लिए अनुमानक को लागू कर सकते हैं। sample_weight/class_weight = 0 मूल रूप से इसका अर्थ है कि अनुमानक को सीखने की प्रक्रिया में ऐसे नमूने/कक्षाओं को ध्यान में रखना आवश्यक नहीं है। इस प्रकार वर्गीकृत (उदाहरण के लिए) इस कक्षा के लिए class_weight = 0 अगर कुछ वर्ग की भविष्यवाणी नहीं करेगा। यदि कुछ नमूने/वर्गों पर sample_weight/class_weight से कुछ नमूना_वेट/क्लास_वेट बड़ा है - अनुमानक पहले नमूने/कक्षाओं में त्रुटि को कम करने का प्रयास करेगा। आप उपयोगकर्ता द्वारा परिभाषित sample_weights और class_weights एक साथ उपयोग कर सकते हैं।

यदि आप सरल क्लोनिंग/हटाने के साथ अपने प्रशिक्षण सेट को अंडरस्प्ले/ओवरम्प्ल करना चाहते हैं - यह इसी नमूना_वेइट्स/क्लास_वेइट्स के बढ़ते/घटने के बराबर होगा।

अधिक जटिल मामलों में आप SMOTE जैसी तकनीकों के साथ कृत्रिम रूप से नमूने उत्पन्न करने का प्रयास कर सकते हैं।

2

sample_weight और class_weight एक समान कार्य है, जो आपके अनुमानक को कुछ नमूनों पर अधिक ध्यान देना है।

वास्तविक नमूना वजन sample_weight * weights from class_weight होगा।

यह एक ही उद्देश्य के तहत/oversampling के रूप में कार्य करता है लेकिन व्यवहार अलग होने की संभावना है: कहें कि आपके पास एक एल्गोरिदम है जो यादृच्छिक रूप से नमूनों (जैसे यादृच्छिक जंगलों में) चुनता है, यह महत्वपूर्ण है कि आप oversampled या नहीं।

यह कुल मिलाकर:
class_weight और sample_weight दोनों 2), विकल्प 2) एक ही रास्ता वर्ग असंतुलन को संभालने के लिए है। मुझे सार्वभौमिक रूप से अनुशंसित तरीके से पता नहीं है, मैं 1), 2) और 1) + 2) को अपनी विशिष्ट समस्या पर देखने के लिए सबसे अच्छा काम करता हूं।

संबंधित मुद्दे