StratifiedKFold與GridSearchCV版本前后使用方法


首先在sklearn官網上你可以看到:

所以,舊版本import時:

from sklearn.cross_validation import GridSearchCV

新版本import時:
from sklearn.model_selection import GridSearchCV

StratifiedKFold同樣是這個問題,我用的是pycharm,IDE會自動提示這一點。

<----------------------------------分割線------------------------------------------->

之前版本StratifiedKFold與GridSearchCV的結合使用代碼如下:
比如我用的是決策樹
from sklearn.grid_search import GridSearchCV
from sklearn.cross_validation import StratifiedKFold

decision_tree_classifier = DecisionTreeClassifier()

parameter_grid = {'max_depth': [1, 2, 3, 4, 5],
                  'max_features': [1, 2, 3, 4]}

cross_validation = StratifiedKFold(all_classes, n_folds=10)

grid_search = GridSearchCV(decision_tree_classifier,
                           param_grid=parameter_grid,
                           cv=cross_validation)

grid_search.fit(all_inputs, all_classes)
print('Best score: {}'.format(grid_search.best_score_))
print('Best parameters: {}'.format(grid_search.best_params_))

  版本升級后,StratifiedKFold與GridSearchCV的結合使用代碼如下:

from sklearn.model_selection import GridSearchCV
from sklearn.model_selection import StratifiedKFold

decision_tree_classifier = DecisionTreeClassifier()

parameter_grid = {'max_depth': [1, 2, 3, 4, 5],
                  'max_features': [1, 2, 3, 4]}

skf = StratifiedKFold(n_splits=10)
cross_validation = skf.get_n_splits(all_inputs, all_classes)
grid_search = GridSearchCV(decision_tree_classifier, param_grid=parameter_grid,cv=cross_validation)
grid_search.fit(all_inputs, all_classes)
print("Best score:", grid_search.best_score_)
print("Best param:", grid_search.best_params_)

  

對比代碼,你會發現 StratifiedKFold()參數不同了,更多信息請參考sklearn官網文檔。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM