相关疑难解决方法(0)

使用交叉验证 (CV) 计算 scikit-learn 多类 ROC 曲线

我想用 ROC 曲线评估我的分类模型。我正在努力为交叉验证的数据集计算多类 ROC 曲线。由于交叉验证,训练集和测试集没有划分。在下面,您可以看到我已经尝试过的代码。

   scaler = StandardScaler(with_mean=False) 

   enc = LabelEncoder()
   y = enc.fit_transform(labels)
   vec = DictVectorizer()

   feat_sel = SelectKBest(mutual_info_classif, k=200)    

   n_classes = 3

# Pipeline for computing of ROC curves                 
  clf = OneVsRestClassifier(LogisticRegression(solver='newton-cg', multi_class='multinomial'))
  clf = clf.label_binarizer_
  pipe = Pipeline([('vectorizer', vec),
             ('scaler', scaler),
             ('Logreg', clf),
             ('mutual_info',feat_sel)])

  y_pred = model_selection.cross_val_predict(pipe, instances, y, cv=10) 


  fpr = dict()
  tpr = dict()
  roc_auc = dict()
  for i in range(n_classes):
    fpr[i], tpr[i], _ = roc_curve(y[:, i], y_pred[:, i])
    roc_auc[i] = auc(fpr[i], tpr[i])

# Plot …
Run Code Online (Sandbox Code Playgroud)

python attributes machine-learning roc scikit-learn

2
推荐指数
1
解决办法
3122
查看次数

标签 统计

attributes ×1

machine-learning ×1

python ×1

roc ×1

scikit-learn ×1