У меня есть DataFrame X
, в котором есть столбец с именем target
с 10 разными метками: [0,1,2,3,4,5,6,7,8,9]
. У меня есть машинное обучение model
, скажем: model=AdaBoostClassifier()
Я хотел бы использовать, чтобы подогнать данные и снова спрогнозировать метки, выполнив процесс перекрестной проверки для обучения модели. Я использую два показателя для перекрестной проверки, accuracy
и neg_mean_squared_error
, чтобы оценить производительность и вычислить соотношение: neg_mean_squared_error/accuracy
. Строки выглядят примерно так:
model.seed = 42
outer_cv = StratifiedKFold(n_splits=10, shuffle=True, random_state=1)
scoring=('accuracy', 'neg_mean_squared_error')
scores = cross_validate(model, X.drop(target,axis=1), X[target], cv=outer_cv, n_jobs=-1, scoring=scoring)
scores = abs(np.sqrt(np.mean(scores['test_neg_mean_squared_error'])*-1))/np.mean(scores['test_accuracy'])
score_description = [model,'{model}'.format(model=model.__class__.__name__),"%0.5f" % scores]
Однако всякий раз, когда я начинаю бежать, я получаю следующее сообщение об ошибке: ValueError: Samplewise metrics are not available outside of multilabel classification.
Как мне решить эту проблему с помощью метрик и провести соответствующую классификацию? Какие метрики я могу использовать для оценки производительности модели в случае с несколькими этикетками?