网络搜索 - 目录
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详细的使用方法