Python 如何使用sklearn和numpy预测标签?

Python 如何使用sklearn和numpy预测标签?,python,numpy,machine-learning,scikit-learn,text-classification,Python,Numpy,Machine Learning,Scikit Learn,Text Classification,我正在尝试使用sklearn来预测一些文本,其中每个子文件夹都是txt文件的集合: import numpy from sklearn.feature_extraction.text import CountVectorizer,TfidfVectorizer from sklearn.datasets import load_files from sklearn.model_selection import train_test_split from sklearn.feature_extra

我正在尝试使用sklearn来预测一些文本,其中每个子文件夹都是txt文件的集合:

import numpy
from sklearn.feature_extraction.text import CountVectorizer,TfidfVectorizer
from sklearn.datasets import load_files
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.naive_bayes import MultinomialNB
from nltk.corpus import stopwords
from sklearn import svm
import os

path = 'C:\wamp64\www\machine_learning\webroot\mini_iniciais\\'

#carregando
data = load_files(path, encoding="utf-8", decode_error="replace")
labels, counts = numpy.unique(data.target, return_counts=True)
labels_str = numpy.array(data.target_names)[labels]
print(dict(zip(labels_str, counts)))

#montando
X_train, X_test, y_train, y_test = train_test_split(data.data, data.target)
vectorizer = TfidfVectorizer(max_features=1000, decode_error="ignore")
vectorizer.fit(X_train)
X_train_vectorized = vectorizer.transform(X_train)

cls = MultinomialNB()
cls.fit(vectorizer.transform(X_train), y_train)

texts_to_predict = ["medicamento"]

result = cls.predict(vectorizer.transform(texts_to_predict))
print(result)
这是
打印的结果(dict(zip(标签、计数))

但是
cls.predict
的结果只是数组上的一个int:

[0]
甚至[1]、[3]等等。。。当我将
文本更改为\u predict
值时

那么,如何获得子文件夹的名称作为预测的结果呢?

根据,返回的
数据的属性
target\u names
保持不变

[t] 他列出了目标班级的名字

所以,考虑使用类似

之类的东西。
print([data.target_names[x] for x in result])
而不是

print(result)
根据,返回的
数据的属性
target\u names
保持不变

[t] 他列出了目标班级的名字

所以,考虑使用类似

之类的东西。
print([data.target_names[x] for x in result])
而不是

print(result)