Fehler: operands could not be broadcast together with shapes (406,) (1218,)
Verfasst: Montag 11. Februar 2019, 08:06
Hallo,
ich habe einen Entscheidungsbaum mit GBM implementiert. Die Daten werden zuerst in Training (X_train, y_train) und Test (X_test, y_test) unterteilt.
Dann wird eine individuelle Loss-Function implementiert (betaloss ist eine zuvor definierte Variable):
Der Classifier:
Und dann die fit Funktion:
Nach Aufruf der fit Funktion kommt der Fehler: operands could not be broadcast together with shapes (406,) (1218,)
Weiß jemand woran das liegen könnte?
Danke!!
ich habe einen Entscheidungsbaum mit GBM implementiert. Die Daten werden zuerst in Training (X_train, y_train) und Test (X_test, y_test) unterteilt.
Dann wird eine individuelle Loss-Function implementiert (betaloss ist eine zuvor definierte Variable):
Code: Alles auswählen
def custom_asymmetric_train(y_true, y_pred):
residual = ((y_true - y_pred)^2 + betaloss*10).astype("float")
grad = np.where(residual>6, -2*10.0*residual, -2*residual)
hess = np.where(residual>6, 2*10.0, 2.0)
return grad, hess
def custom_asymmetric_valid(y_true, y_pred):
residual = ((y_true - y_pred)^2 + betaloss*10).astype("float")
loss = np.where(residual > 6, (residual**2)*10.0, residual**2)
return "custom_asymmetric_eval", np.mean(loss), False
Code: Alles auswählen
gbm = lightgbm.LGBMClassifier()
gbm.set_params(**{'objective': custom_asymmetric_train})
Code: Alles auswählen
gbm.fit(
X_train,
y_train,
eval_set=[(X_test, y_test)],
eval_metric=custom_asymmetric_valid,
verbose=False,
)
Weiß jemand woran das liegen könnte?
Danke!!