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 / 5
和 4 / 5
,并根据需要保留尽可能多的小数位:
System.out.printf("%.4f", probability);
使用 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 / 5
和 4 / 5
,并根据需要保留尽可能多的小数位:
System.out.printf("%.4f", probability);