如何获得随机森林多类中一类的预测概率?

Posted

技术标签:

【中文标题】如何获得随机森林多类中一类的预测概率?【英文标题】:How to get the predicted probability for one class in random forest multi-class? 【发布时间】:2021-12-04 03:21:10 【问题描述】:

有 6 个班级。我收集了 6 个包含坐标的 CSV。将它们合并为一个后,我训练了随机森林算法来预测类别,并且效果很好。现在我需要找到我预测的那一类的概率。

classifier = RandomForestClassifier(n_estimators=60, criterion="entropy", class_weight="balanced")  
classifier.fit(x_train, y_train)  

y_pred = classifier.predict(x_test) 

classifier.predict([[0.30815389752388, 0.15675216913223267, 0.30418527126312256, 0.13528722524642944, 0.27739858627319336, 0.13911670446395874, 0.1855921745300293, 0.2289518266916275, 0.3659476339817047, 0.20354066789150238, 0.33502599596977234, 0.24855738878250122, 0.4515098035335541, 0.258819043636322, 0.5094516277313232, 0.2201528549194336, 0.5327972173690796, 0.24092578887939453, 0.2740940749645233, 0.47397956252098083, 0.3831675946712494, 0.46537867188453674, 0.24977758526802063, 0.6157410144805908, 0.3534936010837555, 0.4986037611961365, 0.3416776955127716, 0.882462739944458, 0.2505697011947632, 0.7096155881881714]])

【问题讨论】:

你可以使用classifier.predict_proba(x_test) 【参考方案1】:

您可以使用y_proba = classifier.predict_proba(x_test)

这将返回一个包含六列的数组,因为您有 6 个类。列的顺序将与classifier.classes_ 相同。

查看documentation了解更多详情。

【讨论】:

以上是关于如何获得随机森林多类中一类的预测概率?的主要内容,如果未能解决你的问题,请参考以下文章

如何从回归随机森林中获得概率密度函数?

OpenCV 随机决策森林:如何获得后验概率

随机森林模型(RF)

PySpark 和 MLLib:随机森林预测的类概率

如何在python中用随机森林预测多个类?

预测(随机森林):概率或投票对回归没有意义