RandomForestRegressor与GridSearchCV使用——简单流程

parameter_space = {
        "n_estimators": [80],
        "min_samples_leaf": [30],
        "min_samples_split": [2],
        "max_depth": [9],
        "max_features": ["auto", 80]
    }


    clf = RandomForestRegressor(
        criterion="mse",
        min_weight_fraction_leaf=0.,
        max_leaf_nodes=None,
        min_impurity_decrease=0.,
        min_impurity_split=None,
        bootstrap=True,
        oob_score=False,
        n_jobs=4,
        random_state=2020,
        verbose=0,
        warm_start=False)
    grid = GridSearchCV(clf, parameter_space, cv=2, scoring="neg_mean_squared_error")
    grid.fit(train[features].values, train['target'].values)

'''
RandomForestRegressor参数说明
n_estimators:决策树个数
min_samples_leaf:叶节点所需的最小样本数。如果过小,可能导致过拟合
min_samples_split:分裂内部节点所需的最小样本数
max_depth:树的最大深度,越深越拟合
max_features:构建决策树最优模型时考虑的最大特征数。默认是"auto",表示最大特征数是N的平方根;

注意:
  首先增大n_estimators,提高模型的拟合能力,当模型的拟合能力没有明显提升的时候,则在增大            
  max_features,提高每个子模型的拟合能力,则相应的提高了模型的拟合能力。



criterion:计算选择节点后,分裂得分的函数。如基尼指标,信息增益等。“squared_error”。
min_weight_fraction_leaf: (default=0) 叶子节点所需要的最小权值
max_leaf_nodes: (default=None)叶子树的最大样本数。
min_impurity_decrease:(default=0.0)如果分裂导致杂质减少大于或等于该值,则节点将被分裂。
有计算公式
min_impurity_split=None :不知道
bootstrap(default=True)构建树时是否使用引导样本。 
如果为 False,则使用整个数据集来构建每棵树。袋外样本误差是测试数据集误差的无偏估计,
所以推荐设置True。
oob_score :默认为False,True表示用袋外数据来测试模型。
可以通过oob_score_来查看模型的准取度。
warm_start:当设置为 True 时,重用先前调用的解决方案来拟合并向集合中添加更多估计器,
否则,只需拟合一个全新的森林
'''










'''
说明:
0.z最后使用model = grid.best_estimator_来得到带有最佳超参数的模型。再进行model.fit、predict等操作
1.parameter_space 中包含的是需要确定的参数值,形式为字典,值以列表的形式给出。
网格搜索会将各个参数的列表中的值进行排列组合,最后输出一个带有最佳超参数的模型
2.parameter_space中参数的名称,由模型确定,模型中的参数是什么名字,space里就用什么名字
3.clf中也要写参数,是已经确定的参数,clf中的参数和parameter_space的参数结合起来,才是模型
中的所有参数。
4.CV是交叉验证折数
5.scoring是计算验证集得分的损失函数,具体如下图
'''

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值