[英]training data with GridSearchCV gives me ValueError, Sci-kit learn
[英]Consistent answer to sci-kit learn GridSearchCV
如何在 sci-kit learn 中使用 GridSearchCV 获得一致的答案? 我假设我得到不同的答案 b/c 不同的随机数导致每次运行时折叠都不同,尽管我的理解是下面的代码应该解决这个问题,因为KFold
默认具有shuffle=False
。
clf = GridSearchCV(SVC(), param_grid, cv=KFold(n, n_folds=10))
正如您在评论中指出的那样, predict_proba 不是确定性的!
但它确实接受 random_state (就像 KFold 一样)。 我之前发现,如果您的数据是以非随机顺序收集的,那么设置 shuffle=False 会导致非常糟糕的结果,所以恕我直言,您最好使用 shuffle 并将 random_state 设置为某个数字。
从文档
class sklearn.svm.SVC(C=1.0, kernel='rbf', degree=3, gamma=0.0, coef0=0.0, shrinking=True, probability=False, tol=0.001, cache_size=200, class_weight=None, verbose=False, max_iter=-1, random_state=None)
random_state : int 种子、RandomState 实例或无(默认)
在对数据进行混洗以进行概率估计时使用的伪随机数生成器的种子。
我想你正在寻找这个参数:random_state=7
大多数具有 random_state 参数的东西都将其保留为 None,这允许变化。
您必须将其设置为某个数字才能获得一致的结果。
我将它设置为 7,因为我喜欢 7。选择任何数字。
对于GridSearchCV
,设置numpy.random.seed
以获得可重现的结果也很重要。 除了在估计器中设置random_state
或seed
之外,还必须这样做。
numpy.random.seed(42)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.