在sklearn.grid_search.GridSearchCV()
上使用linear_model.Ridge
执行网格搜索以找到合适的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]))]
答案 0 :(得分:3)
通常,它是每组参数的分数列表。
列表中的每个元素都是三元组<parameter dict, average score, list of scores over all folds>
。三元组中的第一个元素是用于特定运行的参数字典,在您的情况下,只有一个参数alpha
。三元组中的第二个元素是所有折叠的平均分数,即在三元组中作为第三元素的列表。如果您没有指定自己的分数函数,则岭回归的默认值是确定系数R ^ 2。三元组中的最后一项是所有折叠的分数数组(计算平均值)。折叠数由cv参数指定(默认值为3)。
您通常希望找到具有最高平均分数的三元组。在您的情况下,最大值为alpha 0.0001:
({'alpha': 0.0001},
0.61100922361083054,
array([ 0.61189728, 0.60846248, 0.61266791]))