![](/img/trans.png)
[英]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.