Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:将插入符号xgboost训练模型保存为二进制(.model)_R_Machine Learning_Xgboost_R Caret_Training Data - Fatal编程技术网

R:将插入符号xgboost训练模型保存为二进制(.model)

R:将插入符号xgboost训练模型保存为二进制(.model),r,machine-learning,xgboost,r-caret,training-data,R,Machine Learning,Xgboost,R Caret,Training Data,我已经创建了我的xgboost模型。它是这样工作的: my_model <- caret::train( ... ) 在我的全球环境中,我看到了“我的模型”的描述: 首先,模型工作正常,一切正常。此外,我还可以将此模型保存为.RDA或.RDS对象,并加载它。但对于我的数据工程师同事,我需要将其保存为某种特定的二进制格式-*.model 因此,当我尝试使用xgb.save函数直接保存到“my_model”时,它显然不起作用,因为它的类!='xgb.助推器'。所以我在谷歌上搜索了一下,读到

我已经创建了我的xgboost模型。它是这样工作的:

my_model <- caret::train( ... )
在我的全球环境中,我看到了“我的模型”的描述:

首先,模型工作正常,一切正常。此外,我还可以将此模型保存为.RDA或.RDS对象,并加载它。但对于我的数据工程师同事,我需要将其保存为某种特定的二进制格式-*.model

因此,当我尝试使用xgb.save函数直接保存到“my_model”时,它显然不起作用,因为它的类!='xgb.助推器'。所以我在谷歌上搜索了一下,读到我需要保存“my_model$finalModel”。它看起来不错-它的等级是正确的:

> class(my_model$finalModel)
[1] "xgb.Booster"
我可以这样保存模型。但它的文件大小非常小,当我的同事尝试将它加载到他的Spark系统时,它看起来像一个空文件。它实在太小了:

> object_size(my_model$finalModel)
447 kB
所以看起来“my_model$finalModel”只是“my_model”中不适合我的一小部分


问题是-如何将其保存为*.model格式?我做错了什么?

xgb.save(我的_model$finalModel,“xgb.model”)
将以二进制格式将模型保存为
.model
。正如我在邮件中所写,您可以看到它不起作用:“我可以这样保存模型。”。但它的文件大小非常小,当我的同事尝试将它加载到他的Spark系统时,它看起来像一个空文件。而且当我尝试加载保存的.model文件时,它真的太小了——它错误地冲破了我的屏幕
> object_size(my_model$finalModel)
447 kB