python Azure ML中混淆矩阵中每个单元格的项数的浮点值

y53ybaqx  于 2023-04-28  发布在  Python
关注(0)|答案(1)|浏览(92)

我使用Azure机器学习服务进行建模。为了跟踪和分析二元分类问题的结果,我在 azureml中使用了名为score-classification的方法。training.tabular.score.scoring library.我这样调用该方法:

metrics = score_classification(
        y_test, y_pred_probs, metrics_names_list, class_labels, train_labels, sample_weight=sample_weights, use_binary=True)

输入参数为:

  • y_test 是0和1的数组。
  • y_pred 是每个项目的浮点数数组。
  • metrics_names_list 是我想要计算的度量名称列表:['f1_score_classwise','confusion_matrix']。
  • class_labels 是[0,1]的两项数组。
  • train_labels 是['False','True']的两项列表。

当它计算我作为 metrics_names_list 发送的指标时,结果显示在Azure ML门户的指标页面中。
混淆矩阵是我每次绘制的指标之一。它有一个用于表示的组合框。此组合框可以设置为Raw以显示每个单元格的项目数,Normalized以显示单元格的百分比。
问题是我看到的是这个矩阵的原始配置的浮点值而不是整数值!我不知道如何处理这个问题?

cwtwac6a

cwtwac6a1#

如果使用样本权重,混淆矩阵值将被计算为每个单元格的样本权重之和,这可能导致浮点值。如果你想在混淆矩阵中看到整数值,你可以尝试不向score_classification方法传递任何样本权重。

classification_metrics = list(constants.CLASSIFICATION_SCALAR_SET)
scores = scoring.score_classification(
            y_test_df.values, predicted, classification_metrics, class_labels, train_labels
        )

相关问题