R PMML概率精度

R PMML probabilities precision

使用 PMML 模型文件对随机森林进行评分。评分时得到以下输出。有没有办法增加概率的小数点位数? (即 0.8 到 0.8000 或 0.2 到 0.2000)

library(randomForest)
library(pmml)

iris.rf <- randomForest(Species ~ ., data=iris, ntree=5)
saveXML(pmml(iris.rf), file="irisrf.xml")

此模型保存为 PMML 文件并进行评估以获得以下输出 { "Species" : "setosa", "Predicted_Species" : "setosa", "Probability_setosa":0.8, "Probability_versicolor":0.2, "Probability_virginica":0.0 }

您的 RF 模型包含五个决策树。 Class 概率的计算方法是将投票给特定 class 的决策树的数量除以决策树的总数。

在您的示例中,一棵决策树投票给 class "versicolor" (1 / 5 = 0.2),其余四棵决策树投票给 class "setosa" (4 / 5 = 0.8).

您不能更改除法运算符 / 的 "precision"。相反,只需在您的应用程序代码中打印分数 1 / 54 / 5,并根据需要保留尽可能多的小数位:

System.out.printf("%.4f", probability);