Grid_scores_在Scikit-learn的GridSearchCV中是什么意思



linear_model.Ridge上使用sklearn.grid_search.GridSearchCV()进行网格搜索以找到合适的alpha后,我们可以使用clf.grid_scores_获得网格分数。

结果中的数字是什么意思?这些数字如何告诉我们哪个是最好的alhpa ?下面是grid_scores_结果的示例:

[({'alpha': 10.0},
  -3.5395266121766391e-06,
  array([ -5.81901982e-06,  -5.27253774e-08,  -4.74683464e-06])),
 ({'alpha': 5.0},
  -3.5395266121766391e-06,
  array([ -5.81901982e-06,  -5.27253774e-08,  -4.74683464e-06])),
 ({'alpha': 1.0},
  -3.5395266121766391e-06,
  array([ -5.81901982e-06,  -5.27253774e-08,  -4.74683464e-06])),
 ({'alpha': 0.5},
  -3.5395266121766391e-06,
  array([ -5.81901982e-06,  -5.27253774e-08,  -4.74683464e-06])),
 ({'alpha': 0.1},
  -3.5395266121766391e-06,
  array([ -5.81901982e-06,  -5.27253774e-08,  -4.74683464e-06])),
 ({'alpha': 0.05},
  -3.5395266121766391e-06,
  array([ -5.81901982e-06,  -5.27253774e-08,  -4.74683464e-06])),
 ({'alpha': 0.01},
  0.00019276539505293697,
  array([  5.83095745e-04,  -5.27253774e-08,  -4.74683464e-06])),
 ({'alpha': 0.005},
  0.072428630958501342,
  array([ 0.07335483,  0.07190767,  0.07202339])),
 ({'alpha': 0.001},
  0.37063142154124262,
  array([ 0.37106198,  0.36953822,  0.37129406])),
 ({'alpha': 0.0005},
  0.47042710942522803,
  array([ 0.47063049,  0.4686987 ,  0.47195214])),
 ({'alpha': 0.0001},
  0.61100922361083054,
  array([ 0.61189728,  0.60846248,  0.61266791]))]

一般来说,它是每组参数的分数列表。

列表中的每个元素都是一个三重<parameter dict, average score, list of scores over all folds>。三元组中的第一个元素是用于特定运行的参数字典,在您的示例中只有一个参数alpha。数组中的第二个元素是所有折叠的平均值,即数组中第三个元素的列表的平均值。如果您没有指定自己的分数函数,则Ridge回归的默认值是决定系数R^2。三元组中的最后一项是所有折叠的分数数组(计算其平均值)。折叠次数由cv参数指定(默认为3)。

您通常希望找到具有最大平均分的三组。在您的情况下,最大值是alpha 0.0001:

({'alpha': 0.0001},
 0.61100922361083054,
 array([ 0.61189728,  0.60846248,  0.61266791]))

相关内容

  • 没有找到相关文章