我正在使用带有默认参数的TfidfVectorizer从文本文档中提取每个要素名称的tf-idf值(采用.csv格式,其中每个行条目代表一条文本消息(dtype = str))。这就是我所做的:
from sklearn.feature_extraction.text import TfidfVectorizer
import numpy as np
from pandas import Series
# .csv document has been converted into pandas format
tf = TfidfVectorizer()
X_tf = tf.fit_transform(document)
# get feature names and tf-idf values
feature_names = tf.get_feature_names()
tfidf = tf.idf_

我还使用最后两行来提取特征名称和tf-idf值。但是,我还被要求(1)按升序和降序的tf-idf值对特征进行排序,然后按字母顺序排序(如果多个要素和tf-idf值相关联)和(2)输出使用功能名称作为索引进入pandas Series对象,使得输出看起来像这样(这个以降序排列):
feature tf-idf
he 0.031
she 0.047
i 0.068
a 0.084
the 1.527

似乎我可以通过匹配' feature_names'来实现这一目标。和' tfidf'并对它们进行排序,但我不确定它们的序列是否真的与“#feature.eames”相匹配。是一个列表对象,而' tfidf'是一个笨拙的阵列,因为我不知道sklearn在幕后做了什么。
如果我想以降序(和升序)顺序编译已排序的系列,并使用确切的特征名称作为索引(按字母顺序排序),那么我应该从代码的最后一行开始?如果有人能够启发我,我将非常感激。
谢谢。