2016-06-06 2 views
0

Как я могу связать свою матрицу tfidf с категорией? например, у меня есть данные ниже наборТекстовая категоризация Python с предварительно подготовленными данными

**ID**  **Text**          **Category** 
    1  jake loves me more than john loves me    Romance 
    2  july likes me more than robert loves me    Friendship 
    3  He likes videogames more than baseball    Interest 

раз я вычислить tfidf для каждого и каждое предложение, принимая «текст» столбца, как мой вход, как я смог бы обучить систему классифицировать эту строку матрицу, связанную с моей категорией выше, чтобы я мог повторно использовать для своих тестовых данных?

используя вышеуказанный набор данных поезда, когда я передаю новое предложение «julie - прекрасный человек», я хотел бы, чтобы это предложение было отнесено к одной или нескольким предопределенным категориям, как указано выше.

Я использовал эту ссылку Keep TFIDF result for predicting new content using Scikit for Python как мой отправной точкой для решения этой проблемы, но я не был в состоянии понять, о том, как отобразить tfidf матрицу для предложения к категории

ответ

1

Похоже, вы уже vectorised текст, т.е. уже преобразовал текст в число, чтобы вы могли использовать классификаторы scinkit-learns. Теперь следующий шаг - подготовить классификатор. Вы можете следить за this link. Это выглядит следующим образом:

Vectorization

from sklearn.feature_extraction.text import CountVectorizer 
count_vect = CountVectorizer() 
X_train = count_vect.fit_transform(your_text) 

Поезд Классификатор

from sklearn.naive_bayes import MultinomialNB 
clf = MultinomialNB().fit(X_train, y_train) 

Предсказать на новых документов:

docs_new = ['God is love', 'OpenGL on the GPU is fast'] 
X_new = count_vect.transform(docs_new) 
predicted = clf.predict(X_new) 
+0

Да, я уже преобразованный текст в число, но как система узнает, к какой категории относятся эти числа? Я преобразовал текст в число, но я не смог пометить номера текста в категорию, которую я хотел бы сделать (как показано в моем наборе данных вопроса). – RData

+0

То, что делает классификатор и шаг прогнозирования. у предсказанной переменной будут категории для нового текста. – elyase

+0

y_train моя категория? – RData

Смежные вопросы