我已经为这件事挣扎了一段时间了。
我的目标是获取一个文本特征,并从中找出5-10个最好的单词来帮助我分类。因此,我正在运行一个TfIdfVectorizer,现在选择~90最佳。然而,当我缩小了特性数量之后,我无法看到实际选择了哪些特性。在
以下是我所拥有的:import pandas
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.feature_selection import SelectPercentile, f_classif
train=pandas.read_csv("train.tsv", sep='\t')
labels_train = train["label"]
documents = []
for i, row in train.iterrows():
documents.append((row['boilerplate'][1:-1].lower()))
vectorizer = TfidfVectorizer(sublinear_tf=True, stop_words="english")
features_train_transformed = vectorizer.fit_transform(documents)
selector = SelectPercentile(f_classif, percentile=0.1)
selector.fit(features_train_transformed, labels_train)
features_train_transformed = selector.transform(features_train_transformed).toarray()
结果是,features_train_transformed包含一个矩阵,其中包含所选单词的每个文档中每个单词的所有tfidf分数,但是我不知道选择了哪些单词,并且像“get_feature_names()”这样的方法对于SelectPercentile类不可用。在
这是必要的,因为我需要将这些特征添加到一堆数字特征中,然后才能进行训练和预测。在