#从CRAN安装:
安装.包 ( “modelStudio” )
#从GitHub安装开发版本:
开发工具 :: 安装github ( “面向模型/modelStudio” )
#加载包和数据
图书馆 ( 最大似然比 )
图书馆 ( DALEXtra公司 )
图书馆 ( 模型工作室 )
数据 <- DALEX公司 :: 公寓
#拆分数据
指数 <- 样品 ( 1 : nrow公司 ( 数据 ) , 0.7 * nrow公司 ( 数据 ) )
火车 <- 数据 [ 指数 , ]
测试 <- 数据 [ - 指数 , ]
#拟合模型
任务 <- makeRegr任务 ( 身份证件 = “公寓” ,数据 = 火车 ,目标 = “m2价格” )
学习者 <- 使学习者 ( “再生护林员” ,预测类型 = “响应” )
模型 <- 火车 ( 学习者 , 任务 )
#为模型创建解释程序
解释者 <- 解释_mlr ( 模型 ,
数据 = 测试 ,
年 = 测试 $ m2价格 ,
标签 = “mlr” )
#选取观测值
新建观测(_O) <- 测试 [ 1 : 2 , ]
行名称 ( 新建观测(_O) ) <- c(c) ( “id1” , “id2” )
#为模型制作工作室
模型工作室 ( 解释者 , 新建观测(_O) )
#加载包和数据
图书馆 ( xgboost公司 )
图书馆 ( DALEX公司 )
图书馆 ( 模型工作室 )
数据 <- DALEX公司 :: 钛_计算
#拆分数据
指数 <- 样品 ( 1 : nrow公司 ( 数据 ) , 0.7 * nrow公司 ( 数据 ) )
火车 <- 数据 [ 指数 , ]
测试 <- 数据 [ - 指数 , ]
列车矩阵 <- 模型矩阵 ( 幸存下来的 ~ . - 1 , 火车 )
测试矩阵 <- 模型矩阵 ( 幸存下来的 ~ . - 1 , 测试 )
#拟合模型
xgb_矩阵 <- xgb。 D矩阵 ( 列车矩阵 ,标签 = 火车 $ 幸存下来的 )
参数 <- 列表 ( 最大深度(_depth) = 三 ,目标 = “二进制:逻辑” ,评估度量 = “auc” )
模型 <- xgb.火车 ( 参数 , xgb_矩阵 ,个nrounds = 500 )
#为模型创建解释程序
解释者 <- 解释 ( 模型 ,
数据 = 测试矩阵 ,
年 = 测试 $ 幸存下来的 ,
类型 = “分类” ,
标签 = “xgboost” )
#选取观测值
新观测 <- 测试矩阵 [ 1 : 2 ,下降 = 错误的 ]
行名称 ( 新建观测(_O) ) <- c(c) ( “id1” , “id2” )
#为模型制作工作室
模型工作室 ( 解释者 , 新建观测(_O) )
解释器对象的::包 pip安装dalex-U
#酸洗包装
安装.包 ( “网状” )
#加载包和数据
进口 达尔克斯 作为 dx公司
从 sklearn.model_选择 进口 列车_测试_拆分
从 sklearn.管道 进口 管道
从 sklearn.预处理 进口 标准缩放器
从 sklearn.svm 进口 SVR公司
从 努皮 进口 日志
数据 = dx.datasets.load_fifa()
X(X) = data.drop(列 = [ “总体” , “潜在” , '价值_我们' , “wage_eur” , “国籍” ],轴 = 1 )
年 = 日志(data.value_eur)
#拆分数据
X_train、X_test、y_train和y_test = 列车测试分段(X,y)
#拟合管道模型
模型 = 管道([( “缩放” ,标准缩放器())( “支持向量机” ,SVR())])
模型.fit(X_train,y_train)
#为模型创建解释程序
解释者 = dx。 解释器(模型、数据 = X测试,y = y_test,标签 = “科学知识学习” )
#将解释程序打包到pickle文件中
解释器.泵( 打开 ( 'explainer_scikitslearn.plickle' , “wb” ))
#加载包和数据
进口 达尔克斯 作为 dx公司
从 sklearn.model_选择 进口 列车_测试_拆分
从 sklearn.管道 进口 管道
从 sklearn.预处理 进口 标准缩放器、OneHotEncoder
从 sklearn.插补 进口 简单计算机
从 sklearn.compose(sklearn.compose) 进口 柱形变压器
从 光(gbm) 进口 LGBM分类器
数据 = dx.datasets.load_titanic()
X(X) = data.drop(列 = “幸存” )
年 = 存活的数据
#拆分数据
X_train、X_test、y_train和y_test = 列车测试分段(X,y)
#拟合管道模型
数字功能 = [ “年龄” , “票价” , “sibsp” , “烤焦” ]
数字变压器 = 管道(
步骤 = [
( “插补” 、简单计算机(策略 = “中位数” )),
( “缩放器” ,标准缩放器())
]
)
类别特性 = [ “性别” , “类” , “上船” ]
类别变换器 = 管道(
步骤 = [
( “插补” 、简单计算机(策略 = “常量” ,填充值 = “缺少” )),
( “一个热点” ,OneHotEncoder(句柄未知 = “忽略” ))
]
)
预处理器 = 柱形变压器(
变压器 = [
( “num” 、数字转换器、数字特征),
( “猫” ,类别_转换器,类别_功能)
]
)
分类器 = LGBM分类器(n_estimators = 300 )
模型 = 管道(
步骤 = [
( '预处理器' ,预处理器),
( '分类器' ,分类器)
]
)
模型.fit(X_train,y_train)
#为模型创建解释程序
解释者 = dx。 解释器(模型、数据 = X测试,y = y_test,标签 = “lightgbm” )
#将解释程序打包到pickle文件中
解释器.泵( 打开 ( '解释程序_lightgbm.pickle' , “wb” ))
@文章{baniecki2019modelstudio, title={{modelStudio:Interactive Studio with Explarations for ML Predictive Models}}, author={Hubert Baniecki和Przemyslaw Biecek}, journal={开源软件杂志}, 年份={2019}, 体积={4}, 数字={43}, 页数={1798}, url={https://doi.org/10.21105/joss.01798} }
@文章{baniecki2023语法, title={交互式解释模型分析的语法}, author={Hubert Baniecki和Dariusz Parzych以及Przemyslaw Biecek}, journal={数据挖掘和知识发现}, 年份={2023}, 页数={1-37}, url={ https://doi.org/10.1007/s10618-023-00924-w网址 } }