我一直在使用http://scikit-learn.org/stable/modules/generation/sklearn.cross_validation.cross_val_score.html
为了交叉验证Logistic回归分类器。我得到的结果是:
[ 0.78571429 0.64285714 0.85714286 0.71428571
0.78571429 0.64285714 0.84615385 0.53846154
0.76923077 0.66666667]
我的主要问题是如何找到哪个组/对子最大程度地提高分类器得分并产生0.857。
后续问题:用这种方法训练我的分类器是一种好的做法吗?
先感谢您。
我是否以及如何找到哪个组合/对折将最大化我的分类器得分
从的文档中cross_val_score
,您可以看到它在特定cv
对象上运行。(如果未明确给出,则KFold
在某些情况下会用到,在其他情况下会用到其他东西-请参阅此处的文档。)
您可以遍历此对象(或相同对象)以找到确切的火车/测试索引。例如:
for tr, te in KFold(10000, 3):
# tr, te in each iteration correspond to those which gave you the scores you saw.
是否用这套训练分类器是一个好习惯。
绝对不!
交叉验证的唯一合法用途是用于评估整体性能,在不同模型之间进行选择或配置模型参数。
致力于模型后,您应该在整个训练集中对其进行训练。在碰巧给出最高分的子集上训练它是完全错误的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句