Qualcuno potrebbe spiegare come la colonna Cover
nel pacchetto xgboost
R viene calcolata nella funzione xgb.model.dt.tree
?Come viene calcolata la copertura xgboost?
Nella documentazione si dice che la copertura "è una metrica per misurare il numero di osservazioni interessate dalla divisione".
Quando si esegue il seguente codice, fornito nella documentazione xgboost
per questa funzione, Cover
per il nodo 0 dell'albero 0 è 1628.2500.
data(agaricus.train, package='xgboost')
#Both dataset are list with two items, a sparse matrix and labels
#(labels = outcome column which will be learned).
#Each column of the sparse Matrix is a feature in one hot encoding format.
train <- agaricus.train
bst <- xgboost(data = train$data, label = train$label, max.depth = 2,
eta = 1, nthread = 2, nround = 2,objective = "binary:logistic")
#[email protected][[2]] represents the column names of the sparse matrix.
xgb.model.dt.tree([email protected][[2]], model = bst)
ci sono 6513 osservazioni nell'insieme di dati treno, quindi chiunque può spiegare perché Cover
per il nodo 0 di albero 0 è un quarto di questo numero (1.628,25)?
Inoltre, Cover
per il nodo 1 dell'albero 1 è 788.852 - come viene calcolato questo numero?
Qualsiasi aiuto sarebbe molto apprezzato. Grazie.
Fantastica spiegazione. Grazie – dataShrimp
Inoltre, non credo che potresti far luce su questa domanda? http://stackoverflow.com/questions/33654479/how-is-xgboost-quality-calculated – dataShrimp
@dtfoster Ho giocato con quell'altra domanda - non ho ancora risolto il problema ... C'è un po 'di peso minore sotto il cofano che ha alcune piccole differenze dalle sue diapositive –