比较 Azure ML 分类器的 brier 分数

Comparing brier score for Azure ML classifier

我正在尝试比较 Azure ML studio 中两个分类器的 brier 分数:

import pandas as pd
import numpy as np
from sklearn.metrics import brier_score_loss

def azureml_main(dataframe1, dataframe2):
    colnames_1 = dataframe1.columns
    y_true_1 = np.array(dataframe1[colnames_1[1]])
    y_prob_1 = np.array(dataframe1[colnames_1[-1]])
    brier_score_1 = brier_score_loss(y_true_1, y_prob_1)

    colnames_2 = dataframe2.columns
    y_true_2 = np.array(dataframe2[colnames_2[1]])
    y_prob_2 = np.array(dataframe2[colnames_2[-1]])
    brier_score_2 = brier_score_loss(y_true_2, y_prob_2)

    data = {'brier_score': [brier_score_1, brier_score_2]}
    result = pd.DataFrame(data, columns=['brier_score'])

    return result

我的问题是脚本只在第一行输出第一个数据集的 brier 分数的值。第二行是空的。

我发现问题是由第二个数据帧中的一些 NaN 值引起的。 在脚本顶部添加 dataframe2 = dataframe2.dropna() 解决了问题。