Я использую scikit-learn для извлечения текстовых функций из текста «мешок слов» (текст, обозначаемый на отдельных словах). Для этого я использую TfidfVectorizer, чтобы уменьшить вес очень частых слов (например: «a», «the» и т. Д.).Связывание текстовых функций с их значением tfidf
text = 'Some text, with a lot of words...'
tfidf_vectorizer = TfidfVectorizer(
min_df=1, # min count for relevant vocabulary
max_features=4000, # maximum number of features
strip_accents='unicode', # replace all accented unicode char
# by their corresponding ASCII char
analyzer='word', # features made of words
token_pattern=r'\w{4,}', # tokenize only words of 4+ chars
ngram_range=(1, 1), # features made of a single tokens
use_idf=True, # enable inverse-document-frequency reweighting
smooth_idf=True, # prevents zero division for unseen words
sublinear_tf=False)
# vectorize and re-weight
desc_vect = tfidf_vectorizer.fit_transform([text])
Теперь я хотел бы, чтобы иметь возможность соединить каждую предсказанную функцию с его соответствующим tfidf
значение с плавающей точкой, хранить его в Словаре
{'feature1:' tfidf1, 'feature2': tfidf2, ...}
я достиг его с помощью
d = dict(zip(tfidf_vectorizer.get_feature_names(), desc_vect.data))
Хотелось бы узнать, есть ли лучший способ научиться чему-то научиться.
спасибо.
Большое спасибо за ваш ответ. –