मैं एक समस्या के लिए एक बेवकूफ बेयस मॉडल सीखना चाहता हूं जहां कक्षा बूलियन है (दो मानों में से एक पर ले जाती है)। कुछ विशेषताएं बूलियन हैं, लेकिन अन्य विशेषताएं स्पष्ट हैं और कुछ छोटी संख्याओं (~ 5) पर ले सकती हैं।मैं (एकाधिक) स्पष्ट सुविधाओं के साथ sklearn.naive_bayes का उपयोग कैसे कर सकता हूं?
यदि मेरी सभी सुविधाएं बूलियन थी तो मैं sklearn.naive_bayes.BernoulliNB
का उपयोग करना चाहूंगा। ऐसा लगता है कि sklearn.naive_bayes.MultinomialNB
नहीं है जो मैं चाहता हूं।
एक समाधान मेरी स्पष्ट विशेषताओं को बूलियन सुविधाओं में विभाजित करना है। उदाहरण के लिए, यदि एक चर "एक्स" मान "लाल", "हरा", "नीला" मान लेता है, तो मेरे पास तीन चर हो सकते हैं: "एक्स लाल है", "एक्स हरा है", "एक्स नीला है"। यह वर्ग को दिए गए चर के सशर्त स्वतंत्रता की धारणा का उल्लंघन करता है, इसलिए यह पूरी तरह से अनुचित लगता है।
एक और संभावना वैरिएबल को एक वास्तविक मूल्यवान चर के रूप में एन्कोड करना है जहां 0.0 का मतलब लाल है, 1.0 का मतलब हरा है, और 2.0 का मतलब नीला है। यह GaussianNB (स्पष्ट कारणों से) का उपयोग करने के लिए पूरी तरह से अनुचित लगता है।
जो मैं करने की कोशिश कर रहा हूं वह अजीब प्रतीत नहीं होता है, लेकिन मुझे समझ में नहीं आता कि मुझे बेवकूफ बेयस मॉडल में फिट करने के लिए कैसे कहा जाता है। अपने आप को कोड करना आसान है, लेकिन यदि स्पष्ट कारणों से संभव हो तो मैं sklearn का उपयोग करना पसंद करता हूं (अधिकांश: बग से बचने के लिए)।
[क्यों मुझे नहीं लगता कि बहुपद नायब समझाने संपादित करने के लिए है जो मैं चाहता]:
मेरे समझ के साथ कि बहुपद एनबी में फीचर वेक्टर कितनी बार की गिनती एक टोकन k
में मनाया गया के होते है आईआईडी नमूने हैं।
मेरी समझ यह है कि यह वर्गीकरण के दस्तावेज़ के लिए उपयुक्त है जहां दस्तावेज़ की अंतर्निहित कक्षा है, और फिर दस्तावेज़ में प्रत्येक शब्द को उस वर्ग के विशिष्ट वितरण से खींचा जाता है। एक दस्तावेज़ में k
टोकन होंगे, फीचर वेक्टर शब्दावली आकार के बराबर लंबाई होगी, और फीचर गणनाओं का योग k
होगा।
मेरे मामले में, मेरे पास कई बर्नौली चर हैं, साथ ही कुछ स्पष्ट हैं। लेकिन यहां "गिनती" की कोई अवधारणा नहीं है।
उदाहरण: कक्षाएं लोग हैं जो गणित पसंद करते हैं या पसंद नहीं करते हैं। भविष्यवाणियों कॉलेज प्रमुख (स्पष्ट) हैं और क्या वे स्नातक स्कूल (बूलियन) गए थे।
मुझे नहीं लगता कि यह बहुमत से फिट बैठता है क्योंकि यहां कोई गणना नहीं है।
क्या आप विस्तारित कर सकते हैं क्यों बहुराष्ट्रीय बेवकूफ बेयस आपके लिए अच्छा नहीं है? –