我正在尝试将RandomForestClassifier用于NLP问题,但是当我使用Preject_log_proba方法时,我会按零错误获得鸿沟。我查看了prective_proba方法的结果,发现原因是因为某些类的某些概率(总共有6个类)为0。一个错误。是否有参数比避免此问题?
P>我使用的是Sklearn版本0.19和RandomforestClassifier的默认参数值。
好吧,如果您的模型输出给定类别的零概率,则该类的对数概率为负信息。因此,如果您要概括日志空间中的概率(或其他需要此值),那么显然您无法使用此概率。
为了在随机森林中发生,这意味着所有树木都同意该特定数据点的特定类别的概率为零。您可以通过增加树木的数量来减轻这种情况(这将增加至少一个人的机会,说这个例子属于该课程)。或者,您可以将max_depth
参数降低到可能相似的效果。
另外,您只需在应用对数之前就可以软化模型的输出,例如,将输出概率设置为最小(最大(P,0.001),0.999)。
希望会有所帮助。