2015-12-11 12 views

risposta

8

Questo è un parametro che riassume semplicemente il numero di volte ogni funzione è diviso su. È analogo alla metrica di frequenza nella versione R. https://cran.r-project.org/web/packages/xgboost/xgboost.pdf

È una metrica di importanza fondamentale che è possibile ottenere.

cioè quante volte è stata divisa questa variabile?

Il codice per questo metodo mostra che si sta semplicemente aggiungendo la presenza di una determinata funzione in tutti gli alberi.

[qui .. https://github.com/dmlc/xgboost/blob/master/python-package/xgboost/core.py#L953][1]

def get_fscore(self, fmap=''): 
    """Get feature importance of each feature. 
    Parameters 
    ---------- 
    fmap: str (optional) 
     The name of feature map file 
    """ 
    trees = self.get_dump(fmap) ## dump all the trees to text 
    fmap = {}      
    for tree in trees:    ## loop through the trees 
     for line in tree.split('\n'):  # text processing 
      arr = line.split('[') 
      if len(arr) == 1:    # text processing 
       continue 
      fid = arr[1].split(']')[0] # text processing 
      fid = fid.split('<')[0]  # split on the greater/less(find variable name) 

      if fid not in fmap: # if the feature id hasn't been seen yet 
       fmap[fid] = 1 # add it 
      else: 
       fmap[fid] += 1 # else increment it 
    return fmap     # return the fmap, which has the counts of each time a variable was split on 
+0

ciao, grazie per la risposta. Sto avendo problemi a capire il codice sorgente. Potresti spiegarmi cosa sta succedendo esattamente in quella funzione? – ishido

+0

Ho davvero capito. Sono andato nel file principale e ho stampato la variabile di riga quando si utilizza xbg.plot_importance. Quindi divide ogni riga per estrarre solo i nomi delle funzionalità e conta il numero di volte in cui ciascuna è stata divisa? – ishido

+0

@ishido hai capito .. ha aggiunto alcuni commenti .. Senza vedere il dump del testo degli alberi è difficile dire esattamente cosa stanno facendo esattamente tutte le operazioni di puntura, ma lo schema più ampio è chiaro spero –

Problemi correlati