机器学习调整参数

本文探讨了机器学习中调参的重要性,详细介绍了调参涉及的超参数,如随机森林的`n_estimators`、`max_depth`等。讨论了各种调参方法,包括手工调参、网格搜索、随机搜索、贝叶斯搜索以及K折交叉验证。调参的目标是找到最佳模型性能,通常通过准确度、召回率、F1-score和Roc曲线等指标来衡量。
摘要由CSDN通过智能技术生成


最近用机器学习进行预测,结果总是不理想,所以决定学一学关于调参的内容,借鉴了网上大神们的笔记,分享个人理解,如果有理解的不到位的地方欢迎大家评论区纠正。

为什么需要调参?

机器学习中最困难的地方就是为模型找到最好的超参数,模型的性能与超参数有很大的影响。

调参调的都是哪些参数?

随机森林:
==n-estimators:==决策树的个数,太小容易欠拟合,太大不容易提升模型
==bootstrp:==是否对样本进行有放回抽样来构建树,true or false
==oob_score:==是否采用袋外样本来评估模型的好坏,true or false
==max_depth:==决策树最大深度
==min_samples_leaf:==叶子节点含有的最少样本
==min_samples_split:==节点可分的最小样本数
==min_sample_leaf:==叶子节点最小的样本权重和
==max_leaf_nodes:==最大叶子节点数
==criterion:==节点划分标准
==max_features:==构建决策树最优模型时考虑的最大特征数。

怎样调参?

手工调参

顾名思义也就是通过训练算法手动选择最佳参数集,但是十分耗时,而且不能确保能找到最好的参数。

网格搜索

搜索是一种基本的超参数调优技术,为网格中指定的所有给定超参数值得每个排列构建模型,评估选择最佳模型。
由于超时了超参数得每一个组合,并根据交叉验证得分选择了最佳组合,所以会比较慢。

from sklearn.model_selection import GridSearchCV
clf=RandomForestRegressor()
grid=GridSearchCV(estimator=clf,param_distributions=random_grid,
                   n_iter=10,
                   cv=3,verbose=2,random_state=42,n_jobs=1)
grid.fit(x_train, y_train)
print(grid.best_params_)

随机搜索

随机搜索会优于网格搜索,由于许多情况下所有的超参数可能不是同等重要得,随机搜索从超参数空间中随机选择参数组合。
随机搜索不能保证给出的是最好得参数组合。

from sklearn.model_selection impor
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Gradient Boosting Regressor是一种强大的机器学习算法,但是需要进行超参数调整以获得最佳性能。以下是一些可能需要调整的超参数: 1. n_estimators:决定了要训练的树的数量,一般来说增加树的数量可以提高性能。但是增加树的数量也会增加计算时间,因此需要在准确性和计算本之间进行权衡。 2. learning_rate:决定了每个树的贡献,较小的学习率可以使算法更加稳定,但是也需要更多的树才能达到相同的准确性。 3. max_depth:限制每个回归树的最大深度,可以避免过拟合,但是如果设置得太小,可能会导致欠拟合。 4. min_samples_split:决定了一个节点必须具有的最小样本数才能分裂,较小的值可以提高模型的复杂度,但也可能导致过拟合。 5. min_samples_leaf:决定了一个叶子节点必须具有的最小样本数,较小的值可以提高模型的复杂度,但也可能导致过拟合。 6. subsample:决定了每个树的训练集的比例,较小的值可以减少方差,但也可能导致偏差。 进行超参数调整的一种常见方法是使用网格搜索(Grid Search)或随机搜索(Random Search)。在网格搜索中,我们定义一个超参数的范围,并在该范围内尝试不同的超参数组合。在随机搜索中,我们定义超参数的分布,并从该分布中随机抽取超参数组合。然后,我们可以使用交叉验证来评估每个超参数组合的性能,并选择表现最佳的超参数组合。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值