相关疑难解决方法(0)

sklearn - 具有多个分数的交叉验证

我想计算不同分类器的交叉验证测试的召回率,精度f度量. scikit-learn附带了cross_val_score,但遗憾的是这种方法不会返回多个值.

我可以通过调用cross_val_score 三次 来计算这样的度量,但效率不高.有没有更好的解决方案?

到现在为止我写了这个函数:

from sklearn import metrics

def mean_scores(X, y, clf, skf):

    cm = np.zeros(len(np.unique(y)) ** 2)
    for i, (train, test) in enumerate(skf):
        clf.fit(X[train], y[train])
        y_pred = clf.predict(X[test])
        cm += metrics.confusion_matrix(y[test], y_pred).flatten()

    return compute_measures(*cm / skf.n_folds)

def compute_measures(tp, fp, fn, tn):
     """Computes effectiveness measures given a confusion matrix."""
     specificity = tn / (tn + fp)
     sensitivity = tp / (tp + fn)
     fmeasure = 2 * (specificity …
Run Code Online (Sandbox Code Playgroud)

python numpy scikit-learn

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

标签 统计

numpy ×1

python ×1

scikit-learn ×1