机器学习,网格搜索,决策提升回归树gbrt

关于机器学习网格搜索出现报错怎么解决啊?涉及决策提升回归树,求大家指点一下,另外就是机器学习怎么学啊应该

img

img

查看一下GridSearchCV相关文档,发现其初始化仅接受2个位置参数(estimator, param_grid),其余参数需以关键字形式传入

img

因此修改为

grid = GridSearchCV(regressor, parameters, scoring = scoring_fnc, cv = kfold)

另机器学习推荐Oreilly的《机器学习实战:基于Scikit-Learn,Keras和TensorFlow(原书第2版)》

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇博客: GBDT 多目标输出,网格搜索思想,寻找最优参数中的 下图是对学习率的选择过程,交叉验证平均绝对误差最小,对应的就是最优学习率。 部分也许能够解决你的问题。
  • 以下回答由chatgpt基于相关博客总结生成:

    如何解决机器学习中使用网格搜索报错的问题?

    问题原因: 根据你提供的截图,报错信息显示了缺少模型超参数的设定。在进行网格搜索时,需要指定要搜索的参数范围和组合,但你没有提供这些参数的设定。因此,网格搜索无法执行。

    解决方案: 要解决这个问题,你需要按照以下步骤进行操作:

    1. 导入所需的库和模块。

    from sklearn.ensemble import GradientBoostingRegressor
    from sklearn.model_selection import GridSearchCV
    

    2. 创建决策提升回归树(GBRT)模型。

    gbrt = GradientBoostingRegressor()
    

    3. 定义要搜索的超参数范围和组合。

    param_grid = {
        'n_estimators': [50, 100, 200],
        'learning_rate': [0.1, 0.05, 0.01],
        'max_depth': [3, 5, 7]
    }
    

    4. 创建网格搜索对象,并传入模型和超参数范围。

    grid_search = GridSearchCV(gbrt, param_grid)
    

    5. 使用网格搜索对象进行训练。

    grid_search.fit(X_train, y_train)
    

    请注意,这里的X_trainy_train是你的训练数据集。

    这样,你就可以使用网格搜索进行训练和优化模型了。网格搜索将尝试遍历超参数的每种组合,并返回最佳的超参数组合和对应的模型。

    如何开始学习机器学习的过程?

    如果你想开始学习机器学习,我可以给你一些建议:

    1. 学习数学和统计学基础:机器学习涉及许多数学和统计学的概念,如线性代数、概率论和统计推断。了解这些基础知识将帮助你更好地理解机器学习算法的原理和应用。

    2. 掌握Python编程:Python是机器学习中最常用的编程语言之一。你需要学习Python的基础知识,包括语法、数据结构和操作等。

    3. 了解机器学习的基本概念:学习机器学习的第一步是了解其基本概念,如监督学习、无监督学习和强化学习等。同时,也要了解不同类型的机器学习算法,如决策树、支持向量机和神经网络等。

    4. 阅读相关教材和教程:有很多优秀的机器学习教材和在线教程可以帮助你入门。一些经典的机器学习书籍包括《斯坦福大学公开课:机器学习》、《机器学习实战》和《Hands-On Machine Learning with Scikit-Learn and TensorFlow》等。

    5. 参与实际项目和竞赛:通过参与真实的机器学习项目和竞赛,你可以将理论知识应用到实践中,并更好地理解机器学习的应用场景和方法。

    6. 持续学习和实践:机器学习领域发展迅速,新的算法和技术不断涌现。因此,要想在机器学习领域取得进步,你需要保持持续学习和实践的态度。

    希望以上建议对你有所帮助,祝你在机器学习的学习和应用中取得成功!


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^