机器学习中很多算法的参数选择是个比较繁琐的问题,人工调参比较费时,好在sklearn给我们提供了网格搜索参数的方法,其实就是类似暴力破解,先设定一些参数的取值,然后通过gridsearch,去寻找这些参数中表现的最好的参数。
我们依旧使用上一节的泰坦尼克号生存者预测数据集。同样使用随机森林算法,看看girdsearch如何使用。
先设置要调的参数和对应的取值:
param_grid = {
'bootstrap': [True],
'max_depth': [10, 20, 50],
'max_features': [len((X.columns))],
'min_samples_leaf': [3, 4, 5],
'min_samples_split': [4, 8],
'n_estimators': [5, 10, 50]
}
再初始化我们要用的算法,然后使用网格搜索,寻找最优参数:
#初始化模型
forest = RandomForestClassifier()
#初始化网格搜索
grid_search = GridSearchCV(estimator=forest, param_grid=param_grid, cv=3,
n_jobs=-1, verbose=1)
grid_search.fit(X_train, y_train)
#查看最好的参数选择
print(grid_search.best_params_)
最后用网格搜索得到的参数,进行模型训练:
#使用网格搜索得到的最好的参数选择进行模型训练
best_forest = grid_search.best_estimator_
best_forest.fit(X_train, y_tr

本文介绍如何使用网格搜索在机器学习中优化随机森林算法的参数,通过设定参数范围并利用GridSearchCV进行搜索,找到最佳参数组合,提高模型预测准确性。
最低0.47元/天 解锁文章
1551

被折叠的 条评论
为什么被折叠?



