Python:如何检查XGBoost中是否正确应用了单调性?

Python:如何检查XGBoost中是否正确应用了单调性?,python,xgboost,Python,Xgboost,我尝试在XGBboost中使用单调约束选项(不使用Scikit学习包装器:参见我之前的文章) 但我现在想检查一下这是否正确应用 由于这种类型的模型是一种黑盒,我通常尝试查看一些与模型的总体准确性(logloss、RMSE等)相关的KPI,但不直接与每个特性的效果相关 有没有一种简单的方法(或者复杂的方法)可以做到这一点,然后检查是否有效地应用了单调性 在这个阶段,我想到的是1/对测试集进行一次观察,2/复制它-比方说10或100次-3/然后手动改变其中一个特征,单调性应该应用4/来制作关于预测值

我尝试在XGBboost中使用单调约束选项(不使用Scikit学习包装器:参见我之前的文章) 但我现在想检查一下这是否正确应用

由于这种类型的模型是一种黑盒,我通常尝试查看一些与模型的总体准确性(logloss、RMSE等)相关的KPI,但不直接与每个特性的效果相关

有没有一种简单的方法(或者复杂的方法)可以做到这一点,然后检查是否有效地应用了单调性

在这个阶段,我想到的是1/对测试集进行一次观察,2/复制它-比方说10或100次-3/然后手动改变其中一个特征,单调性应该应用4/来制作关于预测值的图表。这既不是简单的向前(特别是考虑到我想检查大约25个特征…)也不是非常稳健(我不会更改与我正在查看的特征相关的其他特征的值)

欢迎任何建议