Я использую следующий код для моделирования тем в своих документах:
from sklearn.feature_extraction.text import TfidfVectorizer, CountVectorizer
tfidf_vectorizer = TfidfVectorizer(tokenizer=tokenize, max_df=0.85, min_df=3, ngram_range=(1,5))
tfidf = tfidf_vectorizer.fit_transform(docs)
tfidf_feature_names = tfidf_vectorizer.get_feature_names()
from sklearn.decomposition import NMF
no_topics = 50
%time nmf = NMF(n_components=no_topics, random_state=11, init='nndsvd').fit(tfidf)
topic_pr= nmf.transform(tfidf)
Я думал, что topic_pr дает мне вероятностное распределение различных тем для каждого документа. Другими словами, я ожидал, что числа в выводе (topic_pr) будут вероятностью того, что документ в строке X принадлежит каждой из 50 тем в модели. Но цифры не складываются в 1. Это действительно вероятности? Если нет, есть ли способ преобразовать их в вероятности?
Спасибо