Usa scikit-learn para clasificar en múltiples categorías

Estoy tratando de usar uno de los métodos de aprendizaje supervisado de scikit-learn para clasificar fragmentos de texto en una o más categorías. La función de predicción de todos los algoritmos que probé solo devuelve una coincidencia.

Por ejemplo tengo un pedazo de texto:

<code>"Theaters in New York compared to those in London"
</code>

Y he entrenado el algoritmo para elegir un lugar para cada fragmento de texto que lo alimente.

En el ejemplo anterior me gustaría que regresara.New York yLondon, pero solo vuelveNew York.

¿Es posible usar scikit-learn para obtener múltiples resultados? ¿O incluso devolver la etiqueta con la siguiente probabilidad más alta?

Gracias por tu ayuda.

---Actualizar

Traté de usarOneVsRestClassifier pero sigo obteniendo solo una opción por texto. A continuación se muestra el código de ejemplo que estoy usando

<code>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
</code>

Resultado: ['Nueva York' 'Londres' 'Londres']

Respuestas a la pregunta(5)

Su respuesta a la pregunta