请写一段XGBoost的代码
时间: 2024-03-17 19:16:27 浏览: 64
以下是一个简单的XGBoost二分类模型的代码示例:
```python
import xgboost as xgb
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
# 加载数据集
X, y = load_breast_cancer(return_X_y=True)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 定义XGBoost模型参数
params = {
'objective': 'binary:logistic',
'eta': 0.1,
'max_depth': 3,
'min_child_weight': 1,
'eval_metric': 'logloss'
}
# 将训练集和测试集转换为DMatrix格式
dtrain = xgb.DMatrix(X_train, label=y_train)
dtest = xgb.DMatrix(X_test, label=y_test)
# 训练模型
num_rounds = 100
model = xgb.train(params, dtrain, num_rounds)
# 预测测试集
y_pred = model.predict(dtest)
# 计算AUC值
from sklearn.metrics import roc_auc_score
auc = roc_auc_score(y_test, y_pred)
print('AUC: %.2f' % auc)
```
在这个例子中,我们使用了XGBoost的Python API,首先加载了一个二分类数据集(乳腺癌数据集),然后使用train_test_split函数将数据集划分为训练集和测试集。接下来,我们定义了XGBoost模型的参数,包括目标函数、学习速率、树的最大深度、叶子节点的最小权重和评估指标。然后,我们将训练集和测试集转换为XGBoost的DMatrix格式,并使用train函数训练模型。最后,我们使用predict函数对测试集进行预测,并计算AUC值作为模型的性能指标。
阅读全文