Python 注销循环时,如何计算平均误报率(FPR)?

Python 注销循环时,如何计算平均误报率(FPR)?,python,scikit-learn,roc,Python,Scikit Learn,Roc,我使用了一类分类法。由于机器学习算法的随机性,我想重复几次实验,并计算度量的平均值。在我写的代码中: tprs=[] fprs=[] for i in rang(2): clf=OneClassSVM(nu=0.1, kernel='rbf').fit(x_train) score=clf.decision_function(x_test) fpr, tpr, thresholds=metrics.roc_curve(y_test, score) tprs.append(

我使用了一类分类法。由于机器学习算法的随机性,我想重复几次实验,并计算度量的平均值。在我写的代码中:

tprs=[]
fprs=[]
for i in rang(2):
   clf=OneClassSVM(nu=0.1, kernel='rbf').fit(x_train)
   score=clf.decision_function(x_test)
   fpr, tpr, thresholds=metrics.roc_curve(y_test, score)
   tprs.append(tpr)
   fprs.append(fpr)
print(np.mean(tprs, axis=0), np.mean(fprs, axis=0)) # error in this ligne
此错误发生在np.mean()中,因为fpr或tpr的形状在两次迭代中都发生了更改。换句话说,在roc_曲线的两个调用之间有两个大小不同的阈值向量,fpr和tpr也取决于阈值

如何更正此错误并计算fpr和tpr的平均值