使用LightGBM模型可視化時(shí)報(bào)錯(cuò)ValueError: Invalid decision type in tree model.
lgb.create_tree_digraph()
lgb.plot_tree()
錯(cuò)誤定位到python-package/lightgbm/plotting.py中的271行
原因是root['decision_type']為'<=',而判斷條件錯(cuò)誤,微軟官方LightGBM好像已經(jīng)修正了錯(cuò)誤,但可能是我安裝版本的問題
解決方法為進(jìn)入/.local/lib/python3.6/site-packages/lightgbm目錄
管理員權(quán)限打開文件sudo gedit plotting.py
相關(guān)位置修改為如下代碼
if info in {'split_gain', 'internal_value', 'internal_count'}:
label += '\n' + info + ':' + str(root[info])
graph.node(name, label=label)
# if root['decision_type'] == 'no_greater':
if root['decision_type'] == '<=':
l_dec, r_dec = '<=', '>'
# elif root['decision_type'] == 'is':
elif root['decision_type'] == '=':
完美解決
參考:https://github.com/microsoft/LightGBM/pull/810/files/7e824df64a739b6818f2d10bf3dbdc2cfd7fe876