2016-12-06 1 views
3

Я хочу выполнить классификацию текста, используя информацию о моделировании модели, в качестве функций, которые передаются в классификатор svm. Поэтому мне было интересно, как можно создавать функции моделирования темы, выполняя LDA как на обучающих, так и на тестовых разделах набора данных, так как коренные изменения для двух разделов набора данных?Используйте информацию моделирования тем из LDA как функции для выполнения классификации текста через SVM

Я делаю неправильное предположение?

Не могли бы вы привести пример, как это сделать, используя scikit learn?

ответ

3

Ваше предположение верно. Что вы делаете, так это то, что вы тренируете свою LDA на своих учебных данных, а затем трансформируете данные обучения и тестирования на основе этой обученной модели.

Таким образом, вы будете иметь что-то вроде этого:

from sklearn.decomposition import LatentDirichletAllocation as LDA 
lda = LDA(n_topics=10,...) 
lda.fit(training_data) 
training_features = lda.transform(training_data) 
testing_features = lda.transform(testing_data) 

Если бы я тебя, я бы конкатенировать особенности LDA с мешком слов функции с помощью numpy.hstack или scipy.hstack если ваши особенности лук немногочисленны ,

+1

Мне было бы интересно познакомиться с опытом людей с функциями LDA для SVM и т. Д. Я сделал несколько попыток, показав, что они более или менее бесполезны для проблемы - производительность не улучшилась только с помощью функций word/n-gram (Если я помню, я использую слово и 2 грамма). Без функций word/n-gram производительность была очень плохой. – drevicko

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