XGBRegressor 使用RandomizedSearchCV 参数调优代码
以下是使用XGBRegressor和RandomizedSearchCV进行参数调优的代码示例:
import pandas as pd
import numpy as np
from xgboost import XGBRegressor
from sklearn.model_selection import RandomizedSearchCV
# 加载数据集
data = pd.read_csv('data.csv')
# 拆分数据集为特征和目标变量
X = data.drop('target', axis=1)
y = data['target']
# 创建XGBRegressor模型
xgb = XGBRegressor()
# 定义要优化的参数
parameters = {
'learning_rate': [0.01, 0.1, 0.5],
'max_depth': [3, 5, 7, 10],
'n_estimators': [50, 100, 200, 500],
'gamma': [0, 0.1, 0.5, 1],
'subsample': [0.5, 0.7, 0.9, 1],
'colsample_bytree': [0.5, 0.7, 0.9, 1]
}
# 使用RandomizedSearchCV进行参数调优
xgb_random = RandomizedSearchCV(estimator=xgb, param_distributions=parameters,
n_iter=100, cv=5, verbose=2, random_state=42, n_jobs=-1)
# 拟合模型
xgb_random.fit(X, y)
# 输出最佳参数
print(xgb_random.best_params_)
在此示例中,我们将使用RandomizedSearchCV来搜索模型的超参数。我们定义了要优化的参数列表,并传递给RandomizedSearchCV进行搜索。在这个例子中,我们定义了100个迭代次数,并使用5折交叉验证来评估每个模型。最后,我们拟合了模型并输出了最佳参数
原文地址: http://www.cveoy.top/t/topic/ea1c 著作权归作者所有。请勿转载和采集!