ключевая ошибка: «ошибка» во время получения кривой ro c от xgboost - PullRequest
0 голосов
/ 14 февраля 2020

Попытайтесь получить кривую ro c от xgboost

xgb = XGBClassifier(
    objective='multiclass',
    boosting='gbdt',
    metric= 'multi_logloss',

    tree_method='gpu_hist',
    predictor='gpu_predictor',
    max_bin = 32,

    learning_rate = 0.05,
    max_depth = 8,
    num_leaves = 80,
    n_estimators = 400,
    bagging_fraction = 0.8,
    verbose=True,
    feature_fraction = 0.9,
)

eval_s = [(X_train, y_train),(X_test,y_test)]
xgb.fit(X_train, y_train,eval_set=eval_s)
y_pred = xgb.predict(X_test)
predictions = [round(value) for value in y_pred]
# evaluate predictions
accuracy = accuracy_score(y_test, predictions)
print("Accuracy: %.2f%%" % (accuracy * 100.0))
# retrieve performance metrics
results = xgb.evals_result()
epochs = len(results['validation_0']['error'])
x_axis = range(0, epochs)
# plot log loss
fig, ax = pyplot.subplots()
ax.plot(x_axis, results['validation_0']['logloss'], label='Train')
ax.plot(x_axis, results['validation_1']['logloss'], label='Test')
ax.legend()
pyplot.ylabel('Log Loss')
pyplot.title('XGBoost Log Loss')
pyplot.show()
# plot classification error
fig, ax = pyplot.subplots()
ax.plot(x_axis, results['validation_0']['error'], label='Train')
ax.plot(x_axis, results['validation_1']['error'], label='Test')
ax.legend()
pyplot.ylabel('Classification Error')
pyplot.title('XGBoost Classification Error')
pyplot.show()

но появляется следующая ошибка

395] validation_0-merror: 0.089273 validation_1-merror: 0.134353 [396] validation_0-merror: 0.089198 validation_1-merror: 0.134353 [397] validation_0- merror: 0.089161 validation_1-merror: 0.134328 [398] validation_0-merror: 0.088942 validation_1-merror: 0.134303 [399] validation_0-merror: 0.088911 validation_1-merror: 0.134253 Точность: 86,57%

--- -------------------------------------------------- ---------------------- KeyError Traceback (последний вызов последний) в 8 # получить метрики производительности 9 результатов = xgb.evals_result () ---> 10 эпох = длина (результаты ['validation_0'] ['error']) 11 x_axis = range (0, эпох) 12 # потеря журнала участка KeyError: «ошибка»

...