機器學習 scikit-learn7 - 預測貸款使用者是否會逾期 - 網路搜尋 交叉驗證
阿新 • • 發佈:2018-11-24
網路搜尋 - 目錄
1 說明
在做邏輯迴歸的最初就有嘗試做網路搜尋,找到最佳的特徵組合
程式碼連結: https://github.com/spareribs/kaggleSpareribs/blob/master/Overdue/ml/code/sklearn_gcv.py
2 程式碼使用方法
sklearn_gcv.py 預設使用Logistic Regression 做示例
- 【必須】先執行 features 中的 base.py 先把資料處理好 [PS:需要根據實際情況修改]
- 【按需修改】修改 clf_name 需要訓練的模型,param_grid 模型引數組合,scoring模型評分方式
- 【必須】再通過 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詳細的使用方法