如何使用Scikit-Learns中的GridSearchCV计算平均训练分数

时间:2014-04-30 13:24:07

标签: scikit-learn cross-validation

我想以与此处类似的方式绘制线性支持向量机的平均验证与平均训练分数:http://youtu.be/9qg9__n4X2A?t=20m33s

但是,在运行类似代码时,参数compute_training_scores似乎不存在。 此参数也未记录[1]。我检查了Github上的当前主分支,但它似乎尚未提交。

我正在使用Scikit-learn 0.14.1

我在这里有点困惑。是否有我需要的分支或标签才能获得相同的功能,或者有其他方法来计算它?

有问题的代码:

param_grid = {'C': 10. ** np.arange(-3, 4)}
grid_search = GridSearchCV(svm, param_grid=param_grid, cv=3, verbose=3, compute_training_score=True)
grid_search.fit(X_train, y_train);

plt.plot([c.mean_validation_score for c in grid_search.cv_scores_], label="validation error")
plt.plot([c.mean_training_score for c in grid_search.cv_scores_], label="training error")
plt.xticks(np.arange(6), param_grid['C']); plt.xlabel("C"); plt.ylabel("Accuracy");plt.legend(loc='best');

如果我在没有违规参数的情况下运行相同的代码:

AttributeError: '_CVScoreTuple' object has no attribute 'mean_training_score'

[1] http://scikit-learn.org/stable/modules/generated/sklearn.grid_search.GridSearchCV.html

1 个答案:

答案 0 :(得分:1)

mean_validation_score mean_training_score 将在下一个scikit-learn版本0.15中提供。您需要从GitHub安装才能获得它。