簡體   English   中英

sci-kit learn GridSearchCV 的一致答案

[英]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_stateseed之外,還必須這樣做。

numpy.random.seed(42)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM