如何使用sklearn.cross_validation.cross_val_score得到拟合参数?
How to get the fitted parameters using sklearn.cross_validation.cross_val_score?
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. ])
分数本身有什么用?有没有办法获得最佳性能模型的参数?
如果你想做模型 selection: grid_search.GridSearchCV
,你可能正在寻找另一种方法,请参阅文档 here
更具体地说,cross_validation.cross_val_score
仅计算交叉验证分数,这意味着您不更改模型的参数,您仅改变用于训练和测试模型的数据。
grid_search.GridSearchCV
所做的是计算网格中每个点的交叉验证分数,即每组参数。这允许您 select 最佳参数集,即得分最高的参数。
在 AGS 的回答中,clf 将是:
clf = GridSearchCV(SVC(C=1), tuned_parameters, cv=5,
scoring='%s_weighted' % score)
我认为 this example 与您正在尝试做的非常相似。
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. ])
分数本身有什么用?有没有办法获得最佳性能模型的参数?
如果你想做模型 selection: grid_search.GridSearchCV
,你可能正在寻找另一种方法,请参阅文档 here
更具体地说,cross_validation.cross_val_score
仅计算交叉验证分数,这意味着您不更改模型的参数,您仅改变用于训练和测试模型的数据。
grid_search.GridSearchCV
所做的是计算网格中每个点的交叉验证分数,即每组参数。这允许您 select 最佳参数集,即得分最高的参数。
在 AGS 的回答中,clf 将是:
clf = GridSearchCV(SVC(C=1), tuned_parameters, cv=5,
scoring='%s_weighted' % score)
我认为 this example 与您正在尝试做的非常相似。