我认为这个例子和你想做的很相似。
文档提供了这个例子:
>>> clf = svm.SVC(kernel='linear', C=1)
>>> scores = cross_validation.cross_val_score(
... clf, iris.data, iris.target, cv=5)
...
>>> scores
array([ 0.96..., 1. ..., 0.96..., 0.96..., 1. ])
分数本身有什么好处?有没有一种方法可以得到表现最好的模型的参数?
如果你想做模型选择,你可能正在寻找另一种方法:grid_search.GridSearchCV
,请参阅这里的文档
更具体地说,cross_validation.cross_val_score
只计算一个交叉验证的分数,这意味着你不改变模型的参数,你只改变用于训练和测试模型的数据。
grid_search.GridSearchCV
所做的是计算网格中每个点的交叉验证分数,即每组参数。这允许您选择最佳参数集,即得分最高的参数集。
在AGS的回答中,clf应该是:
clf = GridSearchCV(SVC(C=1), tuned_parameters, cv=5,
scoring='%s_weighted' % score)