关于机器学习网格搜索出现报错怎么解决啊?涉及决策提升回归树,求大家指点一下,另外就是机器学习怎么学啊应该
查看一下GridSearchCV相关文档,发现其初始化仅接受2个位置参数(estimator, param_grid),其余参数需以关键字形式传入
因此修改为
grid = GridSearchCV(regressor, parameters, scoring = scoring_fnc, cv = kfold)
另机器学习推荐Oreilly的《机器学习实战:基于Scikit-Learn,Keras和TensorFlow(原书第2版)》
不知道你这个问题是否已经解决, 如果还没有解决的话:问题原因: 根据你提供的截图,报错信息显示了缺少模型超参数的设定。在进行网格搜索时,需要指定要搜索的参数范围和组合,但你没有提供这些参数的设定。因此,网格搜索无法执行。
解决方案: 要解决这个问题,你需要按照以下步骤进行操作:
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_train
和y_train
是你的训练数据集。
这样,你就可以使用网格搜索进行训练和优化模型了。网格搜索将尝试遍历超参数的每种组合,并返回最佳的超参数组合和对应的模型。
如果你想开始学习机器学习,我可以给你一些建议:
学习数学和统计学基础:机器学习涉及许多数学和统计学的概念,如线性代数、概率论和统计推断。了解这些基础知识将帮助你更好地理解机器学习算法的原理和应用。
掌握Python编程:Python是机器学习中最常用的编程语言之一。你需要学习Python的基础知识,包括语法、数据结构和操作等。
了解机器学习的基本概念:学习机器学习的第一步是了解其基本概念,如监督学习、无监督学习和强化学习等。同时,也要了解不同类型的机器学习算法,如决策树、支持向量机和神经网络等。
阅读相关教材和教程:有很多优秀的机器学习教材和在线教程可以帮助你入门。一些经典的机器学习书籍包括《斯坦福大学公开课:机器学习》、《机器学习实战》和《Hands-On Machine Learning with Scikit-Learn and TensorFlow》等。
参与实际项目和竞赛:通过参与真实的机器学习项目和竞赛,你可以将理论知识应用到实践中,并更好地理解机器学习的应用场景和方法。
持续学习和实践:机器学习领域发展迅速,新的算法和技术不断涌现。因此,要想在机器学习领域取得进步,你需要保持持续学习和实践的态度。
希望以上建议对你有所帮助,祝你在机器学习的学习和应用中取得成功!