Lectura del código fuente de DeepLearning xgboost

Inserte la descripción de la imagen aquí

Para el problema de clasificación, por supuesto, tiene que convertirse a OHE, y luego out_dimsse realiza el ajuste para cada

Inserte la descripción de la imagen aquí 1 2 GL 2 HL + λ + 1 2 GR 2 HR + λ - 1 2 (GL + GR) 2 HL + HR + λ - γ \ frac {1} {2} \ frac {G_ {L} ^ {2} } {H_ {L} + \ lambda} + \ frac {1} {2} \ frac {G_ {R} ^ {2}} {H_ {R} + \ lambda} - \ frac {1} {2} \ frac {\ left (G_ {L} + G_ {R} \ right) ^ {2}} {H_ {L} + H_ {R} + \ lambda} - \ gamma 21HL+λGRAMOL2+21HR+λGRAMOR2-21HL+HR+λ( GL+GRAMOR)2-C

XGBoostRegressionTreeHeredado DecisionTree, buenos chicos, no reescriban la función. De una manera tan oscura, me sorprendió durante unos minutos entender. Tal vez el autor quiera que entendamos a través del nombre de la función

Inserte la descripción de la imagen aquí

class SquareLoss(Loss):
    
    def __init__(self): 
        pass

    def loss(self, y, y_pred):
        pass

    def grad(self, y, y_pred):
        return -(y - y_pred)
    
    def hess(self, y, y_pred):
        return 1

class CrossEntropyLoss(Loss):
    
    def __init__(self): 
        pass

    def loss(self, y, y_pred):
        pass

    def grad(self, y, y_pred):
        return - (y - y_pred)  
    
    def hess(self, y, y_pred):
        return y_pred * (1-y_pred)

Supongo que te gusta

Origin blog.csdn.net/TQCAI666/article/details/113358066
Recomendado
Clasificación