• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

候乐

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

模型调优

  • 交叉检验是将拿到的数据集分为训练和验证 数据分成几份 其中一份做验证集 经过几次的测试 得到五组模型取平均值
  • 超参数搜索 网格搜索
    • 很多情况下都是手动调参的吗,这种叫超参数。但是手动过程繁杂,所以需要对模型预设几种超参数组合。每组超参数都采用交叉验证来进行评估。最后选出最优参数组合建立模型。
  • 模型选择和调优 API klearn.model_selection.GridSearchCV(estimator, param_grid=None,cv=None)
    • 对估计器的指定参数值进行详尽搜索
    • estimator:估计器对象
    • param_grid:估计器参数(dict)
    • cv:指定几折交叉验证
      fit:输入训练数据
      score:准确率
    • 结果分析:
      • bestscore:在交叉验证中验证的最好结果_
      • bestestimator:最好的参数模型
      • cvresults:每次交叉验证后的验证集准确率结果和训练集准确率结果
  • 使用这个模型估算 然后把用的算法放入调优里面 然后再把测试集和训练集验证集这些关系输出出来
# 使用网格搜索和交叉验证找到合适的参数
knn = KNeighborsClassifier()
 
param = {"n_neighbors": [3, 5, 10]}
 
gc = GridSearchCV(knn, param_grid=param, cv=2)
 
gc.fit(x_train, y_train)
 
print("选择了某个模型测试集当中预测的准确率为:", gc.score(x_test, y_test))
 
# 训练验证集的结果
print("在交叉验证当中验证的最好结果:", gc.best_score_)
print("gc选择了的模型K值是:", gc.best_estimator_)
print("每次交叉验证的结果为:", gc.cv_results_)

posted on 2020-04-03 19:05  候乐  阅读(185)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3