2

如何在 sci-kit learn 中使用 GridSearchCV 获得一致的答案?我假设我得到不同的答案 b/c 不同的随机数导致每次运行时折叠都不同,尽管我的理解是下面的代码应该默认解决这个KFold问题shuffle=False

clf = GridSearchCV(SVC(), param_grid, cv=KFold(n, n_folds=10))
4

2 回答 2

2

正如您在评论中指出的那样, 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 实例或无(默认)

在对数据进行混洗以进行概率估计时使用的伪随机数生成器的种子。

于 2013-12-27T02:41:03.640 回答
1

我想你正在寻找这个参数:random_state=7

大多数具有 random_state 参数的东西都将其保留为 None,这允许变化。

您必须将其设置为某个数字才能获得一致的结果。

我将它设置为 7,因为我喜欢 7。选择任何数字。

于 2014-10-04T14:57:20.637 回答