【发布时间】: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