#python #r #random-forest #pmml #rdata
#python #r #случайный лес #pmml #rdata
Вопрос:
У меня есть файл RData, который представляет собой случайную модель леса, размером 10 Мб. Я хочу преобразовать его в PMML, но при использовании библиотеки R2PMML создается файл PMML размером 350 Мб, который слишком велик для работы. Есть идеи, как я могу уменьшить его размер? Я хочу иметь возможность затем использовать PMML в производственной среде python, поэтому файл должен быть значительно меньше.
Ответ №1:
Можно изменить структуру данных дерева решений, указав compact = TRUE
параметр преобразования:
library("r2pmml")
library("randomForest")
iris.rf = randomForest(Species ~ ., data = iris)
r2pmml(iris.rf, "RandomForestIris-compact.pmml", compact = TRUE)
Однако размер файла PMML в локальной файловой системе не очень хороший показатель того, сколько памяти он будет потреблять во время выполнения. Ваш файл объемом 350 МБ, вероятно, помещается в 50-75 МБ оперативной памяти при правильной загрузке (например, 100 МБ вашего файла состоят из пробелов).
Комментарии:
1. Благодаря использованию параметра compact = True размер уменьшился более чем наполовину, но все еще составляет около 150 МБ. Есть идеи, как уменьшить размер еще больше?
2. Посмотрите оставшуюся часть моего ответа — размер файла PMML в локальной файловой системе не является хорошей мерой чего-либо. Если вы хотите сравнить размеры файлов RDATA и PMML, то сначала вы должны сжать файл PMML — файл PMML размером 150 МБ также будет иметь размер 5-15 МБ, и ваша проблема будет «решена».