Точность вероятностей R PMML

Использование файла модели 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 и оценивается для получения следующего вывода {"Виды": "setosa", "Predicted_Species": "setosa", "Probability_setosa": 0,8, "Probability_versicolor": 0,2, "Probability_virginica": 0,0}


person Naveenan    schedule 30.04.2015    source источник
comment
Я не вижу кода, но опять же, я не в Матрице.   -  person Roman Luštrik    schedule 30.04.2015
comment
iris.rf ‹- randomForest (разновидности ~., data = iris, ntree = 5) - используемый код   -  person Naveenan    schedule 30.04.2015
comment
Пожалуйста, включите это в свой вопрос.   -  person Roman Luštrik    schedule 30.04.2015
comment
Также добавьте код, который вы используете для записи результата, и отформатируйте фрагменты кода.   -  person Roman Luštrik    schedule 30.04.2015
comment
Обновил вопрос. Спасибо   -  person Naveenan    schedule 30.04.2015


Ответы (1)


Ваша RF-модель содержит пять деревьев решений. Вероятности классов рассчитываются путем деления количества деревьев решений, проголосовавших за определенный класс, на общее количество деревьев решений.

В вашем примере одно дерево решений проголосовало за класс «versicolor» (1 / 5 = 0.2), а остальные четыре дерева решений проголосовали за класс «setosa» (4 / 5 = 0.8).

Вы не можете изменить "точность" оператора деления /. Вместо этого просто красиво напечатайте дроби 1 / 5 и 4 / 5 с таким количеством десятичных знаков, которое необходимо в коде вашего приложения:

System.out.printf("%.4f", probability);
person user1808924    schedule 30.04.2015