मैं एक या अधिक श्रेणियों में पाठ के टुकड़ों को वर्गीकृत करने के लिए scikit-learn के पर्यवेक्षित शिक्षण विधियों में से एक का उपयोग करने की कोशिश कर रहा हूं। सभी एल्गोरिदम की भविष्यवाणी का कार्य मैंने केवल एक मैच की वापसी की कोशिश की।
उदाहरण के लिए मेरे पास पाठ का एक टुकड़ा है:
"Theaters in New York compared to those in London"
और मैंने हर पाठ स्निपेट के लिए एक जगह चुनने के लिए एल्गोरिथ्म को प्रशिक्षित किया है जो मैं इसे खिलाता हूं।
उपरोक्त उदाहरण में, मैं चाहता हूं कि यह वापस आए New York
और London
, लेकिन यह केवल वापस लौटे New York
।
क्या कई परिणामों को वापस करने के लिए scikit-learn का उपयोग करना संभव है? या यहां तक कि अगले उच्चतम संभावना के साथ लेबल वापस करें?
आपकी सहायता के लिए धन्यवाद।
---अपडेट करें
मैंने उपयोग करने की कोशिश की, OneVsRestClassifier
लेकिन मुझे अभी भी केवल एक विकल्प प्रति पाठ का एक टुकड़ा वापस मिल रहा है। नीचे नमूना कोड मैं उपयोग कर रहा हूं
y_train = ('New York','London')
train_set = ("new york nyc big apple", "london uk great britain")
vocab = {'new york' :0,'nyc':1,'big apple':2,'london' : 3, 'uk': 4, 'great britain' : 5}
count = CountVectorizer(analyzer=WordNGramAnalyzer(min_n=1, max_n=2),vocabulary=vocab)
test_set = ('nice day in nyc','london town','hello welcome to the big apple. enjoy it here and london too')
X_vectorized = count.transform(train_set).todense()
smatrix2 = count.transform(test_set).todense()
base_clf = MultinomialNB(alpha=1)
clf = OneVsRestClassifier(base_clf).fit(X_vectorized, y_train)
Y_pred = clf.predict(smatrix2)
print Y_pred
परिणाम: ['न्यू यॉर्क' 'लंदन' 'लंदन']