作者x9060000456 (你好)
看板DataScience
标题[问题] lightgbm 的 plot_tree()
时间Tue Apr 21 22:00:09 2020
作业系统:(ex:mac,win10,win8,win7,linux,etc...)
win10
问题类别:(ex:ML,SVM,RL,DL,RNN,CNN,NLP,BD,Vis,etc...)
ML
使用工具:(ex:python,Java,C++,tensorflow,keras,MATLAB,etc...)
python
问题内容:
各位大大前辈大家好,
小弟用 python 的 lightgbm trian 完 model 後,
使用 plot_tree 画决策树,
大致如下:
gbm = lgb.train(params,
lgb_train,
num_boost_round=100,
valid_sets=[lgb_train, lgb_test],
evals_result=evals_result,
verbose_eval=10)
lgb.plot_tree(gbm, tree_index=3, figsize=(20, 8), show_info=['split_gain',
'internal_value', 'internal_count', 'internal_weight', 'leaf_count',
'leaf_weight', 'data_percentage'])
plt.show()
小弟的问题是
1. 请问画出来 tree 中的 leaf, 左边还是右边才是 target = 1
2. 图中的 internel_value 是什麽意思?
3. 原本以为 leaf 为左边是 target = 1,
servey 後, 感觉 leaf_value 是未经 sigmoid 的预测值.
但我画出来的 tree 左边的 leaf 的 leaf_value 有负,
所以经 sigmoid 後为小於 0.5, 应该为 target = 0.
希望有经验的大大们给予一些解惑,
乾虾~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.163.208.251 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/DataScience/M.1587477611.A.864.html
1F:→ Starcraft2: internal value代表该node的值, leaf value是该leaf 05/12 02:18
2F:→ Starcraft2: node的值 可以贴个图上来大家比较容易帮忙看 05/12 02:18