[英]NLP ML How to know the weight of words used in text classifier?
我正在构建一个推文分类器,我尝试训练不同的 ML 模型来对来自 2 个不同推特帐户的推文进行分类。 到目前为止,我已经训练了逻辑回归模型、K 邻居分类器和决策树分类器。
有没有办法知道这些分类器用来预测帐户的推文中的哪些词? 比如分类过程中词的权重?? 我愿意训练也能做到这一点的新分类器。
已经对推文(如词频)进行了一些 ngram 分析。
提前致谢!
有很多方法,但它们取决于分类器。 由于您标记了这个nltk
,我将假设您正在使用 nltk 的分类器。 假设您已经针对分类任务训练了NaiveBayesClassifier
。 经过训练的分类器有一个方法most_informative_features()
,它会向你展示与某个类别具有最强相关性的特征(词)。 您可以要求它显示您喜欢的尽可能多的功能。
如果没记错的话,几个 nltk 分类器都有等效的方法; 但你必须寻找你使用的那些。 更一般地说,您可以检查任何分类器的内部表,并研究代码以了解数字的含义。 (如果您在查看代码之前了解算法,这将有很大帮助。)
你可以试试像LIME这样的黑盒检查器。 它解释了任何分类器对给定示例的决策。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.