【问题标题】:How to calculate the mean training score using GridSearchCV in Scikit-Learns如何在 Scikit-Learns 中使用 GridSearchCV 计算平均训练分数
【发布时间】:2014-06-16 20:20:11
【问题描述】:

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

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

我正在使用 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] 吗?
  • 在黑暗中拍摄:也许您可以从“cv_validation_scores,每个折叠的得分列表”中提取数据
  • 我在 repo 的任何地方都找不到关键字compute_training_scores。我现在不能看教程,但这很有趣。

标签: scikit-learn cross-validation


【解决方案1】:

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

【讨论】:

  • 我只能找到mean_validation_score。你能指点我mean_training_score吗?
  • 实际上从未合并过的分支:-/
  • 谢谢!我在哪里可以得到那个分支?它会被合并吗?我发现这对于生成这样的图表非常有用。
猜你喜欢
  • 2018-09-28
  • 2014-10-13
  • 2018-09-27
  • 2017-11-24
  • 2023-04-03
  • 2020-03-18
  • 2014-07-28
  • 1970-01-01
  • 2017-03-20
相关资源
最近更新 更多