RandomForestClassifier
是DecisionTreeClassifier
的集合。不管您的训练集多大,决策树都会简单地返回:一个决策。一个类别的概率为1,其他类别的概率为0。
RandomForest只是在结果中投票。 predict_proba()
返回每个类别的票数(森林中的每棵树都做出自己的决定并选择一个类别),然后除以森林中的树木数。因此,您的精度恰好是1/n_estimators
。想要更多的“精度”吗?添加更多估算器。如果要查看第5位数字的变化,则需要10**5 = 100,000
估算器,这是多余的。通常,您不希望有100个以上的估算器,而且通常不会那么多。
0
我正在使用Scikit-learn将机器学习算法应用于我的数据集。有时我需要使标签/类的概率恢复为标签/类的自身。我不希望将垃圾邮件/非垃圾邮件作为电子邮件的标签,而仅希望举例说明:给定电子邮件为垃圾邮件的概率为0.78。
为此,我将randomForestClassifier与predict_proba()结合使用,如下所示:
我得到了那些结果:
第二列用于分类:垃圾邮件。但是,我对结果有两个主要问题,对此我不确定。第一个问题是结果代表标签的概率,而不受我的数据大小的影响吗?第二个问题是结果仅显示一位数字,在某些情况下0.701概率与0.708有很大差异时,结果不是很明确。例如,是否可以获取下一个5位数字?
在此先感谢您花时间阅读这两个问题及其问题。