在TF-IDF模型中检索顶级令牌的最佳方法

问题描述 投票:0回答:1

如何从具有以下组件的SciKit学习管道中获得最重要的令牌的概述:

multinb = Pipeline([('vect', CountVectorizer()),
           ('tfidf', TfidfTransformer()),
           ('clf', MultinomialNB()),
          ])

multinb.fit(X_train, y_train)

寻找一个简单的代码段,以可视化方式/显示权重最高的令牌整体X)

python scikit-learn nlp tf-idf tfidfvectorizer
1个回答
1
投票

如何提取coef_MultinomialNB

import pandas as pd


multinb = Pipeline([('vect', CountVectorizer()),
           ('tfidf', TfidfTransformer()),
           ('clf', MultinomialNB()),
          ])

multinb.fit(X_train, y_train)

token_imp = pd.DataFrame(
    data=multinb['clf'].coef_[0],
    index=multinb['vect'].get_feature_names(),
    columns=['coefficient']
).sort_values(by='coefficient', ascending=False)

print(token_imp)

这将按降序为您提供诸如功能重要性之类的信息。由于token_imp是一个数据框,因此您也可以使用token_imp.head(n)来查看n最重要的功能,并使用token_imp.plot.bar()

将其可视化
© www.soinside.com 2019 - 2024. All rights reserved.