今日はR。
xgboost
パッケージのxgb.trainで学習させた後は、xgb.plot.tree
で決定木/回帰木を描いて見るのが有用であるが、現行のパッケージだと変なふうになってしまう。
R version 3.4.2 (2017-09-28) -- "Short Summer" rstudio Version 1.1.419
具体的には、木がネットワーク状に書かれてしまうし、文字が黄色地に白文字と視認性最低でおおよそまともにつかない。
検索して見るとgithubにイシューが上がっていて、xgb.plot.treeが使っているDiagrammeR
が現行リリースでおかしくなっているとのこと。
githubにあるとおり対処することでうまく木が書けるようになった。
ポイントはrender = F
にして、render_graph
で描いてあげること。
xgb.obj <- params = myparams, data = train, label = mylabel, nround = 100) graph <- xgb.plot.tree(feature_names = myfeature_names, model = xgb.obj, n_first_tree = 2, render = FALSE) render_graph(graph)