如何使用sklearn.cross_validation.cross_val_score获取拟合参数?

时间:2015-09-14 20:48:36

标签: scikit-learn

documentation提供了这个示例:

>>> 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.        ])

分数有多好?有没有办法获得性能最佳模型的参数?

1 个答案:

答案 0 :(得分:1)

如果您想进行模型选择,可能正在寻找其他方法:grid_search.GridSearchCV,请参阅文档here

更具体地说,cross_validation.cross_val_score仅计算交叉验证得分,这意味着您不会更改模型的参数,只会改变用于训练和测试模型的数据。

grid_search.GridSearchCV正在做的是计算网格中每个点的交叉验证分数,即每组参数。这允许您选择最佳参数集,即具有最高分数的参数。

在AGS回答中,clf因此是:

clf = GridSearchCV(SVC(C=1), tuned_parameters, cv=5,
                   scoring='%s_weighted' % score)

我认为this example与您尝试做的非常相似。