簡體   English   中英

如何在Sklearn中重新擬合最佳分類器

[英]How to re-fit best classifier in sklearn

使用scikit-learn,我可以使用Grid Search來適合分類器,如下所示:

from sklearn.svm import SVC
param_grid = { 
    'C': [1e-2, 0.1, 1.0],
    'gamma': [1e-4, 1e-3, 1e-2],
    'class_weight': ['auto']
}

clf = SVC()
gs = grid_search.GridSearchCV(clf, param_grid, cv=3, n_jobs=12)
gs.fit(x_train, y_train)

現在,我想使用找到的最佳參數和額外的論點probability=True重新訓練分類器。 如何使用最佳參數加上額外的參數probability來重新擬合分類器?

您可以使用gs.best_params_獲取參數,然后像這樣創建一個新的分類器

clf = SVC(probability=True, **gs.best_params_)

您還可以將set_params方法用於SVC的實例,並在調用fit之前修改probability屬性。

from sklearn import svm, grid_search

x_train = np.random.randn(10,5)
y_train = np.random.randint(0, 2, size=(10,1))

param_grid = { 
    'C': [1e-2, 0.1, 1.0],
    'gamma': [1e-4, 1e-3, 1e-2],
    'class_weight': ['auto']
}

svc1 = svm.SVC()
gs = grid_search.GridSearchCV(svc1, param_grid, cv=3, n_jobs=12)
gs_fitted = gs.fit(x_train, y_train)

svc2 = svm.SVC(probability=True)
# or manually set svc2.probability = True before ever calling svc2.fit

svc2.set_params(**gs_fitted.best_params_)
svc2.fit(x_train, y_train)

嘗試

best_estimator = grid_search.best_estimator_.set_params(probability=True)

您也可以克隆它,以確保代碼的其他部分都不會重用此估計器。

暫無
暫無

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

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