GridSearchCV(estimator = xgb()的用法
时间: 2024-04-21 19:18:20 浏览: 113
GridSearchCV是一个用于系统地遍历多种参数组合,通过交叉验证确定最佳效果参数的方法。而xgb()是XGBoost库中的一个函数,用于构建XGBoost模型。将xgb()作为estimator参数传递给GridSearchCV函数,就可以使用GridSearchCV来搜索XGBoost模型的最佳参数组合。
下面是一个使用GridSearchCV和xgb()的例子:
```python
from xgboost import XGBClassifier
from sklearn.model_selection import GridSearchCV
import numpy as np
from sklearn.datasets import load_iris
# 加载数据集
iris = load_iris()
X = iris.data
y = iris.target
# 构建XGBoost分类器
xgb_model = XGBClassifier()
# 设置参数范围
param_grid = {'max_depth': [2, 3, 4, 5],
'learning_rate': np.arange(0.1, 1.0, 0.1),
'n_estimators': [50, 100, 200, 300]}
# 使用GridSearchCV搜索最佳参数组合
grid_search = GridSearchCV(estimator=xgb_model, param_grid=param_grid, cv=5)
grid_search.fit(X, y)
# 输出最佳参数组合和对应的得分
print("Best parameters found: ", grid_search.best_params_)
print("Best score: ", grid_search.best_score_)
```
在这个例子中,我们使用GridSearchCV搜索XGBoost分类器的最佳参数组合。我们设置了max_depth、learning_rate和n_estimators三个参数的范围,并使用5折交叉验证来评估每个参数组合的性能。最后,我们输出了最佳参数组合和对应的得分。
阅读全文