微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用插入符号库序列化 R 模型并使用 ML 服务存储在 SQL Server 中的表中?

如何解决使用插入符号库序列化 R 模型并使用 ML 服务存储在 SQL Server 中的表中?

我正在使用 sql Server 机器学习服务来运行 R 模型。我可以使用 RevoScaleR 和 rxSerializeModel 对其进行序列化,但我想使用插入符号而不是 RevoScaleR 这里是我的代码,当要求序列化经过训练的模型时出现错误

Step1 使用 SP 训练模型

DROP PROCEDURE IF EXISTS generate_PCL_R_native_model;
go
CREATE PROCEDURE generate_PCL_R_native_model (@model_type varchar(30),@trained_model varbinary(max) OUTPUT)
AS
BEGIN

    EXECUTE sp_execute_external_script
      @language = N'R'                                  -- Spesify langauge and R code,@script = N'                                      
require("RevoScaleR")
require("caret")
require("ranger")
library(caret)
library(ranger)

fitControl <- trainControl(method = "cv",number = 5,savePredictions = TRUE,classprobs = T,verboseIter = F
                           )

                           rf_grid <- expand.grid(mtry = 2,splitrule = c("gini","extratrees"),min.node.size = c(1,3,5));

if(model_type == "dtree") {
model_linmod <- 
train(pclitemspct10r_new ~   
    
    
   
    + d1
    + d2
    + d3
    + d4
    + d5
    + d6
    + d7
    + e1
    + e2
    + e3
    + e4
    + e5
    + e6
    + marriedd1
    + marriedd2,data = PCL_train_data,method = "ranger",trControl = fitControl,#tuneGrid = rf_grid
                )
    


    #serialize the model
    
    trained_model <- as.raw(serialize((model_linmod,NULL));
    }
',@input_data_1 = N'select  * from [dbo].[training_IOP_data_new]',@input_data_1_name = N'PCL_train_data'; 

第 2 步 - 设置用于存储模型的模型表

DROP TABLE IF EXISTS  PCL_models;
GO
CREATE TABLE PCL_models (
                model_name VARCHAR(30) NOT NULL DEFAULT('default model'),lang VARCHAR(30),model VARBINARY(MAX),native_model VARBINARY(MAX),PRIMARY KEY (model_name,lang)

);
GO 

步骤 3 以表格格式保存模型

DECLARE @model2 VARBINARY(MAX);
EXEC generate_PCL_R_native_model "dtree",@model2 OUTPUT;
INSERT INTO PCL_models (model_name,native_model,lang) VALUES('dtree_model',@model2,'R');

有什么方法可以序列化使用插入符号或其他一些库而不是 RevoScaleR 训练的 R 模型。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?