在 TF-IDF 模型中检索顶级标记的最佳方法
Best way to retrieve top tokens in TF-IDF models
如何从具有以下组件的 SciKit-learn 管道中获取最重要的标记的概览:
multinb = Pipeline([('vect', CountVectorizer()),
('tfidf', TfidfTransformer()),
('clf', MultinomialNB()),
])
multinb.fit(X_train, y_train)
寻找一个简单的片段,visualizes/plots 总体上权重最高的标记 X)
如何提取 MultinomialNB
的 coef_
:
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()
[=16= 可视化它们]
如何从具有以下组件的 SciKit-learn 管道中获取最重要的标记的概览:
multinb = Pipeline([('vect', CountVectorizer()),
('tfidf', TfidfTransformer()),
('clf', MultinomialNB()),
])
multinb.fit(X_train, y_train)
寻找一个简单的片段,visualizes/plots 总体上权重最高的标记 X)
如何提取 MultinomialNB
的 coef_
:
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()
[=16= 可视化它们]