Предоставить классификатору scikit-learn специальные данные о тренировках? - PullRequest
0 голосов
/ 21 ноября 2018

Я работал над этим весь день (скорее изо всех сил).Прочитав документацию, многие другие учебные пособия и из-за моей неопытности я не могу понять, как использовать свои собственные данные с классификатором MultinomialNB?

Вот код из основного учебника:

from sklearn.datasets import fetch_20newsgroups
from sklearn.naive_bayes import MultinomialNB

categories = ['alt.atheism', 'soc.religion.christian',
              'comp.graphics', 'sci.med']

text_clf = Pipeline([('vect', CountVectorizer()),
                     ('tfidf', TfidfTransformer()),
                     ('clf', MultinomialNB()),
])
twenty_train = fetch_20newsgroups(subset='train',
    categories=categories, shuffle=True, random_state=42)
text_clf.fit(twenty_train.data, twenty_train.target)  

docs_test = ['Graphics is love', 'the brain is part of the body']

predicted = text_clf.predict(docs_test)

for doc, category in zip(docs_test, predicted):
    print('%r => %s' % (doc, twenty_train.target_names[category]))

Очевидно, это работает.Но как я могу заменить fetch_20newsgroups своими собственными данными (хранящимися в словаре Python и т. П.)?И каждый элемент в данных обучения ниже классифицируется как одна из категорий, как это достигается?

Я ценю, что это не очень хороший вопрос, но в это время нужды я просто хочу получить пониманиео том, как это работает.Спасибо

1 Ответ

0 голосов
/ 21 ноября 2018

Почти все методы sklearn fit принимают список данных обучения и список меток в качестве входных данных.В вашем случае список обучающих данных будет представлять собой список строк (тексты, по которым вы должны обучать свою модель).Например, ['this is my first training sample', 'this is second string', 'and this is third', ...], и другой список меток, например ['label1', 'label2', 'label1', ...].

. И вы передадите эти списки методу соответствия:

text_clf.fit(list_of_training_datas, list_of_labels)

predict метод останется прежним, поскольку он также будет принимать список образцов, которые вы хотите протестировать, и будет возвращать список, содержащий предсказанную метку для каждого из тестовых образцов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...