【发布时间】:2018-02-05 12:02:48
【问题描述】:
我尝试计算一个聚合混淆矩阵来评估我的模型:
cv_results = cross_validate(estimator, dataset.data, dataset.target, scoring=scoring,
cv=Config.CROSS_VALIDATION_FOLDS, n_jobs=N_CPUS, return_train_score=False)
但我不知道如何提取不同折叠的单个混淆矩阵。在得分手中我可以计算它:
scoring = {
'cm': make_scorer(confusion_matrix)
}
,但我无法返回 comfusion 矩阵,因为它必须返回一个数字而不是数组。如果我尝试它,我会收到以下错误:
ValueError: scoring must return a number, got [[...]] (<class 'numpy.ndarray'>) instead. (scorer=cm)
我想知道是否可以将混淆矩阵存储在全局变量中,但使用没有成功
global cm_list
cm_list.append(confusion_matrix(y_true,y_pred))
在自定义记分器中。
提前感谢您的任何建议。
【问题讨论】:
-
如果下面的答案给了你所需的答案,你能接受它作为答案
标签: python scikit-learn cross-validation confusion-matrix