1. 程式人生 > >機器學習 scikit-learn7 - 預測貸款使用者是否會逾期 - 網路搜尋 交叉驗證

機器學習 scikit-learn7 - 預測貸款使用者是否會逾期 - 網路搜尋 交叉驗證

網路搜尋 - 目錄

1 說明

在做邏輯迴歸的最初就有嘗試做網路搜尋,找到最佳的特徵組合
程式碼連結: https://github.com/spareribs/kaggleSpareribs/blob/master/Overdue/ml/code/sklearn_gcv.py

2 程式碼使用方法

sklearn_gcv.py 預設使用Logistic Regression 做示例

  1. 【必須】先執行 features 中的 base.py 先把資料處理好 [PS:需要根據實際情況修改]
  2. 【按需修改】修改 clf_name 需要訓練的模型,param_grid 模型引數組合,scoring模型評分方式
  3. 【必須】再通過 code 中的 sklearn_gcv.py 搜尋模型的最佳配置

3 核心程式碼說明

3.1 交叉驗證 TODO


3.2 使用網路搜尋獲得最優的引數

3.2.1 邏輯迴歸

param_grid = {
    'C': [0.05, 0.1, 0.5, 1.5],
    'penalty': ['l1'
, 'l2'] } grid = GridSearchCV(clf, param_grid, scoring='f1_micro') grid.fit(x_train, y_train) print("最優引數:{0}".format(grid.best_params_)) print("最好的分數{0}".format(grid.best_score_))
  • clf:網路搜尋的模型
  • param_grid:模型支援的引數
  • scoring:模型評分方式
  • grid.best_params_:網路搜尋等到的最佳分數
  • grid.best_score_:最佳模型得到的最優結果

4 問題

  • 如果 param_grid 裡面的引數存在衝突的情況改如何處理
    例如SVM
param_grid = {
    'C': [0.05, 0.1, 0.5, 1.5],
    'penalty': ['l2','l1'],
    'dual': [True]
}
  • 整理文件1:k折交叉驗證
  • 整理文件2:各模型引數的作用
  • 整理文件3:GridSearchCV詳細的使用方法