Xgboost 调试方法

1. 调试 test 目录下的测试用例

  在测试程序后面加入以下代码,即可启动调试程序

1
2
if __name__ == "__main__":
unittest.main()

2. 显示树结构

1
2
3
4
import matplotlib.pyplot as plt 
fig,ax = plt.subplots()
xgb.plot_tree(gbdt_03a, ax = ax, num_trees=0) # 显示模型中的第一棵树
plt.show()

3. 打印详细调试信息

  在 xgb 的 params 中设置:

1
2
'silent': 0,
'debug_verbose': 5

4. 修改源码

  修改 c++ 源码后如果运行 c++ 程序,在 xgboost 目录下执行编译命令 make,重新生成二进制程序 xgboost,运行即可。

  修改 c++ 源码后如果运行 Python 程序,需要将 xgboost/lib/libxgboost.so,复制到 python 对应的库目录下(如:/usr/local/lib/python2.7/dist-packages/xgboost/lib/),注意源码和 python 库的版本一致性。