如何使用sci-kit learn中的GridSearchCV获得一致的答案?我认为每次运行时得到不同的答案是因为不同的随机数导致每次的折叠不同,尽管我理解下面的代码应该能解决这个问题,因为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 seed, RandomState instance, or None (default)
用于在进行概率估计时打乱数据的伪随机数生成器的种子。