lmw0320 2019-09-11 08:50 采纳率: 75%
浏览 1844
已采纳

关于机器学习模型调参的正确步骤是怎样的?

机器学习的模型,要涉及到不少参数的调参。。那其正确的步骤应该是怎样的呢?
第一种做法是,对一个个或一组组参数去调,其他参数使用默认值。。调出一个或一组参数后,记录下来。下一次继续调另外一个或一组参数。。直至所有要调的参数全部调节完毕。然后将所获得的最优参数一股脑传入模型中,正式训练。

第二种做法是,先对一个或一组参数进行调参,得出最优值后,传入模型中,再调第二个或第二组参数。与前面一种的区别就是,前面那种调出最优参数后,并没有马上传入模型训练,而只是记录下来,到最后一股脑传入。而这种则是一步步地固定最优参数组合,直到最后。。

当然,还有的做法是一股脑对所有参数调参,这种做法相对较少,只能针对简单的模型。对复杂的模型而言,调参耗时过大。。

因此,想请教下各位,正确的做法,应该是怎样的呢??

  • 写回答

2条回答 默认 最新

  • 繁华三千东流水 2019-09-12 12:03
    关注
    # 1.
    # 交叉验证进行最优模型选择
    from sklearn.model_selection import cross_val_score
    model = RandomForestClassifier(n_estimators=200,max_depth=2,max_features=5,oob_score=True)
    f1_score = cross_val_score(model,x,y,scoring='f1',cv=5)
    # 打印出来的是n折的f1值,取均值与其他分类器比较,选择最优的模型
    print(f1_score)
    
    # 2.
    # 表格搜索进行最优超参数选择 穷举所有经验参数,自动选择最优的参数
    from sklearn.model_selection import GridSearchCV
    params = {
        'n_estimators':[],
        'max_depth':[],
        'max_features':[],
        'oob_score':[]
    }
    G_model = GridSearchCV(model,param_grid=params,cv=5)
    # 交叉验证,训练模型
    G_model.fit()
    # 打印最优参数
    print(G_model.best_params_)
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧