análisis del código fuente de sklearn adaboost

CSDN

sklearn.ensemble._weight_boosting.BaseWeightBoosting.fit

for iboost in range(self.n_estimators):
    # Boosting step
    sample_weight, estimator_weight, estimator_error = self._boost(
        iboost,
        X, y,
        sample_weight,
        random_state)

    sample_weight_sum = np.sum(sample_weight)

    if iboost < self.n_estimators - 1:
        # Normalize
        sample_weight /= sample_weight_sum

sklearn.ensemble._weight_boosting.AdaBoostClassifier._boost_discrete

estimator.fit(X, y, sample_weight=sample_weight)

sample_weightEs wmi w_ {mi}wmi, Ajuste según el peso de la muestra

# Instances incorrectly classified
incorrect = y_predict != y

# Error fraction
estimator_error = np.mean(
    np.average(incorrect, weights=sample_weight, axis=0))

La tasa de clasificación errónea es la suma de los pesos de las muestras clasificadas erróneamente: em = ∑ i = 1 N wmi I (G m (xi) ≠ yi) e_m = \ sum_ {i = 1} ^ {N} w_ {mi} I (G_m (x_i) \ neq y_i)mim=i = 1NwmiYo ( Gm( xyo)=yyo)

Inserte la descripción de la imagen aquí

Si el efecto del alumno débil ni siquiera es aleatorio, deténgase temprano.

Inserte la descripción de la imagen aquí

Calcular G m G_mGRAMOmEl coeficiente de α m = 1 2 log 1 - emem \ alpha_m = \ frac {1} {2} log \ frac {1-e_m} {e_m}am=21l o gmim1 - em

SAMMEEl algoritmo considera múltiples clasificaciones y las multiplica por la atenuación de learning_rate para lograr la regularización.

Inserte la descripción de la imagen aquí

wmi = exp (- yi α m - 1 G m - 1 (xi)) w_ {mi} = exp (-y_i \ alpha_ {m-1} G_ {m-1} (x_i)) wmi=exp(yyoam - 1GRAMOm - 1( xyo) )

试想, y × y ^ y\times \hat{y} y×y^, En la segunda clasificación, solo si los dos son diferentes, será 1

De hecho, este escrito también tiene en cuenta la situación de múltiples categorías. Para multicategoría , solo necesita modificar α m \ alpha_mamEse es estimator_weightel cálculo en el código .

Supongo que te gusta

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