Я работаю с проблемой мультиклассовой классификации с использованием Python. Я обучил классификатор с помощью перекрестной проверки (sklearn.model_selection.cross_validate) и вычислил нужные мне показатели (точность, точность, повторный вызов, F1_Score) для каждого раза перекрестной проверки. Но теперь мне нужно сохранить матрицу путаницы для каждого из этих сгибов. Как я могу это сделать?
Я уже пытался использовать sklearn.model_selection.cross_val_predict
, чтобы получить прогнозируемые классы и использовать его и фактические классы для вычисления sklearn.metrics.confusion_matrix
, но у меня есть только одна матрица путаницы.
scoring_multiclass = {
'accuracy': 'accuracy',
'precision_macro': 'precision_macro',
'recall_macro': 'recall_macro',
'f1_macro': 'f1_macro'}
cv = StratifiedKFold(n_splits=4)
cv_results = cross_validate(
estimator=current_pipe,
X=X,
y=y,
scoring=scoring_multiclass,
cv=cv,
n_jobs=-1)
mean_cv_results = mean_scores(cv_results)
results = {
'precision': mean_cv_results['test_precision_macro'],
'recall': mean_cv_results['test_recall_macro'],
'f1': mean_cv_results['test_f1_macro'],
'accuracy': mean_cv_results['test_accuracy'],}
Как я могу отобразить путаницу для каждого сгиба?