我试图比较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得分值。第二行是空的。这就是我连接脚本的方式:
答案 0 :(得分:0)
我发现问题是由第二个数据帧中的一些NaN值引起的。
将dataframe2 = dataframe2.dropna()
添加到脚本顶部解决了问题。