机器学习 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详细的使用方法

猜你喜欢

转载自blog.csdn.net/q370835062/article/details/84436945
今日推荐