2016-03-12 28 views
7

Sono in esecuzione xgboost modello come segue:Perché xgboost non sta pianificando i miei alberi?

bst <- xgb.train(data=dtrain, booster="gbtree", objective="reg:linear", 
    max.depth=5, nround=20, watchlist=watchlist,min_child_weight=10) 
importance_matrix <- xgb.importance(names, model = bst) 
xgb.plot.importance(importance_matrix[1:10,]) 

matrice variabile importanza è tracciata bene, ma quando lo faccio dopo

xgb.plot.tree(feature_names = names, model = bst, n_first_tree = 2) 

RStudio apre una nuova finestra del browser e mostra di HTML, ma non Immagine. L'HTML ha tutti i dettagli come gli script necessari per creare grafici, ecc., Ma non ho questi script java e pensavo che avrebbe dovuto funzionare come se stessi plottando la matrice di importanza.

Cosa mi manca?

+0

Stesso problema per me. – joscani

+0

Ho dovuto correggere la tua formattazione e errori di battitura. Si prega di utilizzare la formattazione del codice, non Blockquoting, sul codice. Inoltre, questo non è un problema di RStudio, è possibile averlo provato eseguendo una replica solo in R. – smci

+0

Inoltre, è utile che ci dica quali versioni di R e xgboost: 4.4 hanno alcuni problemi noti. – smci

risposta

0

Se un albero ha un solo nodo, non verrà tracciato, e questo è il caso dei primi due alberi. È possibile scaricare prima l'albero tramite xgb.dump e vedere quali alberi hanno più di un nodo e aumentare di conseguenza il valore n_first_tree.