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



文档提供了这个例子:

>>> 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)
我认为这个例子和你想做的很相似。

相关内容

  • 没有找到相关文章

最新更新