我将SelectFromModelMultinomialNB结合使用以进行文本分类任务中的功能选择。

SelectFromModel(estimator=MultinomialNB(alpha=1.0))


SelectFromModel通过计算确定要素的重要性:

importances = np.linalg.norm(estimator.coef_, axis=0,ord=norm_order)


但这不是我想要的,因为频率较高的特征会导致绝对值较低吗?

在确定给定特定类别的特征的重要性时,已经有多个可以很好回答的问题,但对于总体特征的重要性而言,已经不是一个好问题。

是否可以通过SelectFromModel和NB一起确定功能的重要性,或者其他方法更适合此任务?

最佳答案

有一个称为“具有交叉验证的递归特征消除”的功能,也称为RFECV in sklearn。它尝试根据特征的重要性对它们进行递归排序,并执行交叉验证以使用指定的估计量获得最佳数量的特征。您可以查看example here以获得更多信息。

我不确定为什么selectFromModel不能与NaiveBayes一起使用。如果找到任何相关的答案,我将更新此答案。同时,您可以检查RFECV是否适合您的需求。

07-24 13:35