我正在使用parfit包bestFit进行二进制/多类(train_labels_ALL为0和1或0,1,2,3,4)分类。它可以很好地用于二进制情况,但对于多个情况,我没有让它运行。 我使用以下函数调用最佳拟合函数:
best_model, best_score, all_models, all_scores = bestFit(svm.SVC(), paramGrid,
train_features_ALL_svc_stand, train_labels_ALL, nfolds=5, # [optional, instead of validation set]
metric=roc_auc_score, greater_is_better=True)#,
对于从sklearn使用的度量:
def roc_auc_score(y_true, y_score, average="macro", sample_weight=None,
max_fpr=None, multi_class="raise", labels=None):
当我为函数中的多类分类手动将“raise”更改为“ovr”时,我会收到一条错误消息,即y不需要1D数组。因此,我将1D数组更改为(n_个样本,n_个类)。 然后我收到:
ValueError: Supported target types are: ('binary', 'multiclass'). Got 'multiclass-multioutput' instead.
我想,我必须将多类标签更改为(n_示例,n_类)的形式,但这仍然应该只是一个多类问题
有没有一个连续的y_标签也能做到这一点
目前没有回答
相关问题 更多 >
编程相关推荐